Aqua: Premature end of script headers - Fehler - woher?

Hallo!

Dieses Script geht in der Shell,
aber nicht im Browser.

Wenn man es im Browser aufruft bekommt man in der error_log
den Fehler "Premature end of script headers"

============================================================

#!/usr/bin/perl

print "Content-type: text/html\n\n";

sub errormessage
{
print $_[0]."\n";
}

open (DATA, "< readme.txt") || &errormessage($!);

while (<DATA>)
{
print;
}

close(DATA);

============================================================

Nachdem es in der Shell geht könnte es ja nur die Shebang oder
der Content-type sein aber beide sollten richtig sein ...

Danke
Aqua

  1. Hallo!

    open (DATA, "< readme.txt") || &errormessage($!);

    Möglicherweise wird die datei nicht gefunden, Genaueres steht im error_log.

    Gruss, Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
  2. Dieses Script geht in der Shell,
    aber nicht im Browser.

    was heißt geht?
    Was macht es dort?

    #!/usr/bin/perl

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

    Du liest doch eigentlich hier mit, ohne use strict solltest du gar nicht anfangen Perl Programme zu schreiben.

    sub errormessage
    {
    print $_[0]."\n";

    Das geht einfacher:

    print "$_[0]\n";

    }

    open (DATA, "< readme.txt") || &errormessage($!);

    Der '&' Operator ist Perl 4 Syntax und du solltest ihn nur verwenden wenn du weißt warum. Ansonsten lass ihn einfach weg.

    Aber eigentlich sollte das Skript laufen.

    Struppi.