Jörg Peschke: Premature End of Script header

Beitrag lesen

Hallo Patrick,

Ja, steckl war etwas minimalistisch und hätte Dir auch sagen sollen, wozu die Option "w" gut ist. Mit dieser Option wird die Ausgabe sogenannter Warnungen eingeschaltet, die sehr nützlich sind, und zwar so, dass sie unverzichtbar sind.

Joah, normalerweise haben auch alle meine (größeren) Perl-Scripts ein "use strict;" und "-w" in der Shebang-Zeile - machts Debuggen doch deutlich einfacher, und den Code automatisch lesbar, weil man nicht so völlig wild scripten kann.
Bei besagtem Test-Programm hatte ichs im Eifer der Gefechts nur übersehen.

War die Ausgabe eher nicht ähnlich dieser:

Unquoted string "header" may clash with future reserved word at - line 3.
Name "main::header" used only once: possible typo at - line 3.
print() on unopened filehandle header at - line 3.

Ähm nee :)
Aber ich glaub, das hängt auch ein bisschen von der Perl-Version ab, die auf der Kiste läuft, oder? Hab noch gar nicht geguckt welche das ist.

Das Problem ist eigentlich auch weniger dieses header-Teil, das hatte ich urpsürnglich gar nicht drin - aber ohne das gehts auch nicht:

Ich hatte auf meiner wilden Suche nach dem Premature-End-Of-Script-Problem irgendwo ein Beispiel-Programm mit dieser Anweisung gefunden - und dachte/hoffte, dass "print header;" irgendeine abgefahrene reservierte Anweisung zum Flushen von STDOUT bzw. abschalten des IO-Buffers ist, die ich noch nicht kenne, und die mein Problem löst (analog wie $| = 1;)

Aus euren Antworten schliesse ich aber, dass das vermeintliche "Musterprogramm" keins ist, weil "print header;" kein neuer Perl-Kniff sondern vermutlich schlichtweg ein Tippfehler aus "print CGI::header()"; o.ä. ist :)

Trotzdem vielen Dank für Deinen ausführlichen Tipp.

Meine heisseste Spur ist im Moment, dass der Apache schlichtweg noch nicht richtig für Perl konfiguriert ist (mod_perl war z.b. nicht geladen, das habe ich inzwischen behoben).
Naja, morgen ist auch noch ein Arbeitstag :)

Danke jedenfalls und viele Grüße,

Jörg