Jan Lehnardt: apche und perl

hallo zusammen,
wenn ich ein beliebiges perl/cgi script aufrufe, spuckt apche das hier aus:

<start>
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, Jan@Lehnardt.de and inform them of the time the error occurred, and
anything you might have done that may have caused the error.

malformed header from script. Bad header=Hallo Welt: e:/apache/cgi-bin/test.pl

Apache/1.3.3 Server at bErT Port 80

</end>

im script steht nur:
#!/aperl/bin/perl #mein perl pfad
print"Hallo Welt";

was mache ich falsch?
tschoe

jan

  1. hallo zusammen,
    wenn ich ein beliebiges perl/cgi script aufrufe, spuckt apche das hier aus:

    <start>
    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, Jan@Lehnardt.de and inform them of the time the error occurred, and
    anything you might have done that may have caused the error.

    malformed header from script. Bad header=Hallo Welt: e:/apache/cgi-bin/test.pl

    Apache/1.3.3 Server at bErT Port 80

    </end>

    im script steht nur:
    #!/aperl/bin/perl #mein perl pfad
    print"Hallo Welt";

    was mache ich falsch?
    tschoe

    jan

    Hallo,
    da fehlt der Header:

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

    Wichtig sind die beiden Zeilenumbrüche (ergibt 1 Leerzeile).

    Viele Grüße, Rolf

    1. wenn ich ein beliebiges perl/cgi script aufrufe, spuckt apche das hier aus:
      Internal Server Error
      da fehlt der Header:

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

      Vielleicht braucht der Webserver auch noch den IIS-Header:
          print "HTTP/1.0 200 OK\n";
          print "Content-type: text/html\n\n";
          print "Hello world!\n";

      Gruss, Beat

  2. hallo zusammen,
    wenn ich ein beliebiges perl/cgi script aufrufe, spuckt apche das hier aus:

    <start>
    Internal Server Error
    Bad header=Hallo Welt: e:/apache/cgi-bin/test.pl
    was mache ich falsch?
    tschoe

    jan

    Hi Jan,

    ich entnehme Deiner Laufwerksangabe, daß der Apache unter irgendeiner Windows Version läuft; hier mußt du in allen Skripten immer den _kompletten_ Pfad zu Perl nebst Extension angeben:
    Also statt: #!/aperl/bin/perl #mein perl pfad
    z.B.            #!/aperl/bin/perl.exe
                    #!c:/perl/perl.exe

    Gruß
    Marcus

    1. hi!

      ich entnehme Deiner Laufwerksangabe, daß der Apache unter irgendeiner Windows Version
      läuft; hier mußt du in allen Skripten immer den _kompletten_ Pfad zu Perl nebst Extension
      angeben:

      Kannst du mir in diesem Fall erklären, warum meine Perl-Skripts hier laufen, obwohl in der ersten Zeile #!/usr/bin/perl steht?

      bye, Frank!

    2. Internal Server Error
      Bad header=Hallo Welt: e:/apache/cgi-bin/test.pl
      ich entnehme Deiner Laufwerksangabe, daß der Apache unter irgendeiner Windows Version läuft; hier mußt du in allen Skripten immer den _kompletten_ Pfad zu Perl nebst Extension angeben:

      Das kann aber nicht sein. Denn das Perl-Skript wird ja ausgefuehrt. Darauf weist der "Falsche Header" hin. Das soll heissen, es gibt keinen HTTP-Header namens "Hallo Welt". Es gibt aber zum Beispiel einen namens "Content-type". Siehe also vor allem Rolf's Antwort, das ist die richtige.

      Calocybe