Das meldet NS, wenn es vom Perl-Script nur den HTTP-Header bekommt, aber nichts mehr weiter. D.h. der Fehler liegt beim Perl-Script. Vielleicht gibt es da irgendeinen Sonderfall, bei dem es nichts zurueckgibt; deshalb der Fehler, der nur ab und zu vorkommt.
exakt. Untersuche Dein Script vor allem darauf, ob irgendwo durch 0 geteilt wird oder eine Subroutine angesprungen wird, die nicht existiert - das sind die beiden klassischen Abbruchbedingungen (neben exit).
Wenn das CGI-Skript immerhin so weit kommt, daß es einen korrekten http-Header zurücksendet und dann aber kein HTML-Dokument erzeugt, muß der Fehler eigentlich relativ weit vorne auftreten.
Ich würde in diesem Falle versuchen, den HTML-Dokumentkopf gleich als erste Operation des CGI-Skripts zu erzeugen. Wenn nämlich der korrekte Anfang eines HTML-Dokuments beim Browser ankommt, dann ist die Chance hoch, daß eine beliebige Meldung, die das Programm bei seinem Absturz ausgibt, bereits als Bestandteil des BODY vom Browser angezeugt wird - und dann kannst Du die entsprechende Fehlermeldung einfach im Browser lesen.
Wenn überhaupt nichts kommt, nicht mal eine Fehlermeldung, dann steigt entweder das Programm aus, ohne etwas zu erzeugen (also Logikfehler), oder die Fehlermeldung geht nicht nach stdout, sondern z.B. nach stderr. In diesem Falle könnte man versuchen, UM DAS CGI-PROGRAMM HERUM ein Programm (ein kleines shell-Skript?) laufen zu lassen (auch über diese CGI-Schnittstelle), welches stderr nach stdout umlenkt. Auch das führt dazu, daß man die Fehlermeldung direkt im Browser lesen kann - der Webserver muß halt nur begreifen, wohin Du sie haben willst, und meines Wissens kommt bei CGI-Anwendungen eben stdout zum Browser zurück und stderr nicht.