Bueno, pues ya se ven cosas...
La línea de error número 1, se refiere a que whois.pl no está devolviendo una cabecera HTTP correcta. Por lo que se ve en la salida del programa, así es.
Para arreglarlo, debes hacer que el whois.pl genere una línea como esta:
print "Content-type: application/json\n\n";(Observa que es una línea de texto seguido de dos caracteres de avance de línea). Y debes evitar que el whois.pl genere las líneas
Using text Syntax Highlighting
testsrs.srsplus.com
Estas Usando el SRS ID 83254FDB
Programado para Flooming.com
Starting AccountBalance test...
PASSED AccountBalance test
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
Es decir... SOLO puedes enviar al Ajax la información que está pidiendo, que son la variables en formato JSON.
La línea 2 del error.log es más problemática... La ejecución del whois.pl ha generado a su vez la ejecución del comando gpg. Y éste ha intentado guardar datos en el directorio .gnupg colgando del directorio raíz del usuario, que en este caso es /root (o sea, que deducimos que el usuario que está ejecutando el servidor Apache es root). Pero no tiene permisos para hacerlo y falla (por lo que ahora deducimos que, realmente, no era el usuario root, sino que es otro usuario, pero que su directorio por defecto es el de root).
Para arreglar esto... Creas un subdirectorio /root/.gnupg con permisos de escritura para todos. Creo que esta solución puede ser más fácil de la que realmente habría que hacer: que el usuario del servidor web se ejecutara como otro usuario y tuviera su propio subdirectorio .gnupg.
O incluso con chdir() al principio del whois.pl se podría intentar arreglar, moviendo el directorio de trabajo a un lugar seguro y controlado (y con subdirectorio .gnupg).