Diese Fehlermeldung wird vom Server ausgegeben:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Das ist nun leider die nichtssagende aller Meldungen.
Schau mal in die error-log-Datei des Apache, da werden wesentlich genauere Informationen drin stehen.
Man kann sogar ein separates CGI-Logging im Apache konfigurieren.
(Welchen Zugriff hast Du auf den Webserver?)
Immerhin kann man in deinem Falle einiges ausschließen, weil Du Dein Programm kompiliert hast. (Also ist es z. B. kein falscher Pfad zu Perl.=
Funktioniert das Programm, wenn Du es über die Kommandozeile startest?
Die CGI-Umgebung dafür kannst Du durch ein Shell-Skript emulieren, in welchem Du in der Environment-Variablen QUERY_STRING die passenden Werte setzt.