AlexBausW: zu doof für "hallo welt"???????

Beitrag lesen

Hallo andreas,

#!/usr/bin/perl
print "Hallo Welt\n";

#!/usr/bin/perl
print "Content-type: text/html\n\n";

Ich hoffe Du siehst den Unterschied zwischen den beiden Skripten nun deutlicher ;-)
Wenn Du andere Deiner angepassten Skripte untersuchst, wirst Du sicherlich irgendwo immer über 'print "Content-Type:....";', 'print header;' oder 'print $q->header;' (oder so ähnlich) stolpern.
Der Apache erwartet vom ausgeführten CGI-Skript die Rückgabe eines Content-Type-Headers (gibt den Mime-Type der Rückgabe), damit der Browser weis wie er die Daten anzuzeigen (oder was auch immer damit zu tun) hat. Diesen kann der Apache nicht erraten, den Status bzw. Datum und weitere mögliche HTTP-Header schon (obwohl er deren Werte afaik ja nicht rät ;-).
Also füge vor Deine Ausgabe den Header aus dem zweiten Skript ein, und alles wird gut (natürlich nur, wenn Du HTML ausgibst. Bei anderen Daten ist der Content-Type bzw. Mime-Type wieder anders).

Gruß AlexBausW

P.S.: Wenn Du schon anfängst eigene Skripte zu schreiben, solltest Du Dir angewöhnen, diese immer mit:

#!/usr/bin/perl -w
use strict;

zu beginnen. Daneben lohnt sich eine Beschäftigung mit CGI.pm, dessen Dokumentation Du mit 'perldoc CGI' einsehen kannst.