Hi Patrick,
das scheint ja wirklich ein munteres Rätselraten zu werden.
Hier die URL zum Script:
http://www.cgi.tj/scripts/alienform/af.txt
das war schon mal eine gute Idee.
Auch wenn mich Dein Skript nicht sonderlich glücklich macht, weil da viel Unsinn drin steht, der Dir die Fehlersuche sehr erschweren wird.
Hättest Du beispielsweise "use CGI;" drin statt dieses komische "parse"-Zeug, dann könntest Du den Aufruf mit den Parametern, wie sie über die URL angefügt werden, ganz einfach auf der Kommandozeile ausprobieren und dann die (leider immer noch nirgendwo aufgetauchte) Meldung sehen, welche als allererste von Deinem Skript ausgegeben wird.
Ich bin mir ziemlich sicher, daß das irgend eine Fehlermeldung ist.
Und Dein Skript definiert zwar einen Content-type - aber wann und wo wird der denn jemals ausgegeben? Bis dahin kann alles Mögliche schief gegangen sein. Und wenn die erste (!) Ausgabe des Skripts kein korrekter HTTP-Header ist, hast Du verloren.
Also: Schreib mal gnadenlos
print "Content-type: text/html\n\n"
in Zeile 2 des Skripts und laß es noch mal über den Browser laufen.
Die Chance, daß Du dann mehr siehst, ist nicht schlecht.
Die nächste Verbesserung wäre es,
use CGI::Carp qw(fatalsToBrowser);
ebenfalls ganz weit oben einzufügen.
Was immer an Fehlermeldung erzeugt wird, geht bisher offenbar nach stderr und damit verloren - mit dieser Anweisung lenkst Du es nach stdout und damit in den Browser.
Mach das mal - danach sehen wir weiter.
Die Idee mit "perl -w" wäre für sich genommen nicht verkehrt gewesen - aber dafür ist die Substanz des vorliegenden Skripts einfach zu schlecht.
Das Skript ist wirklich _schauerlich_ programmiert.
In der Zeit, in der Du _das_ debuggst, hättest Du es wahrscheinlich selbst neu schreiben können - und dann würdest Du es auch verstehen.
Viele Grüße
Michael