Perl will nicht

Irgendwelche Probleme mit XAMPP für Linux? Dann ist hier genau der richtige Ort um nachzufragen.

Perl will nicht

Postby Schnuckel » 26. November 2003 09:31

Hi,

ich hab versucht eben ein Perl script auszuführen aber es kommt nur ein 500'er dabei raus. EIn auszug aus der Log kommt unten.

Hab den Script Alias auf mein cgi-bin geändert, hab die directory derektive für das cgi-bin auf den neuen pfad geändert und der angegebene interpreter am anfang der perl datei müßte auch stimmen.

Code: Select all
#!/opt/lampp/bin/perl

print "Hallo ich bin perly das kleine schwein, grunz grunz";



[Wed Nov 26 09:10:06 2003] [notice] Digest: generating secret for digest authentication ...
[Wed Nov 26 09:10:06 2003] [notice] Digest: done
[Wed Nov 26 09:10:07 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:10:07 2003] [error] [client -- Zensur --] String found where operator expected at /var/cgi-bin/test.pl line 3,
near "Print "Hallo ich bin perly, das kleine schweinchen Grunz grunz""
[Wed Nov 26 09:10:07 2003] [error] [client -- Zensur --] (Do you need to predeclare Print?)
[Wed Nov 26 09:10:07 2003] [error] [client -- Zensur --] syntax error at /var/cgi-bin/test.pl line 3, near "Print "Hallo ich b
in perly, das kleine schweinchen Grunz grunz""
[Wed Nov 26 09:10:07 2003] [error] [client -- Zensur --] Execution of /var/cgi-bin/test.pl aborted due to compilation errors.
[Wed Nov 26 09:10:07 2003] [notice] Apache/2.0.48 (Unix) mod_perl/1.99_08 Perl/v5.8.0 mod_ssl/2.0.48 OpenSSL/0.9.7c PHP/4.3.3
DAV/2 configured -- resuming normal operations
[Wed Nov 26 09:10:09 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:10:09 2003] [error] [client -- Zensur --] String found where operator expected at /var/cgi-bin/test.pl line 3,
near "Print "Hallo ich bin perly, das kleine schweinchen Grunz grunz""
[Wed Nov 26 09:10:09 2003] [error] [client -- Zensur --] (Do you need to predeclare Print?)
[Wed Nov 26 09:10:09 2003] [error] [client -- Zensur --] syntax error at /var/cgi-bin/test.pl line 3, near "Print "Hallo ich b
in perly, das kleine schweinchen Grunz grunz""
[Wed Nov 26 09:10:09 2003] [error] [client -- Zensur --] Execution of /var/cgi-bin/test.pl aborted due to compilation errors.


Was bedeutet denn "Do you need to predeclare Print?" ? Muß ich da etwa irgend was deklarieren? Hab (noch) keine ahnung von perl.
frage2: Kann ich irgendwo einstellen dass fehler ausgegeben werden ähnlich den warnings & notices bei php?

gruß,
Andreas
User avatar
Schnuckel
 
Posts: 35
Joined: 02. October 2003 21:22
Location: Bayern

Postby Oswald » 26. November 2003 09:38

Du hast print groß geschrieben! ;)
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby Schnuckel » 26. November 2003 09:53

Hi Kai,

ich weiß nicht ob es daran lag. Jetz geht nähmlich garnichts mehr. In der Log steht jetzt nur noch das hier:

[Wed Nov 26 09:40:45 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:40:48 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:42:04 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:42:05 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:42:06 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:42:07 2003] [error] [client -- Zensur --] Premature end of script headers: test.pl
[Wed Nov 26 09:43:24 2003] [error] [client -- Zensur --] Premature end of script headers: test2.pl
[Wed Nov 26 09:43:28 2003] [error] [client -- Zensur --] Premature end of script headers: test2.pl
[Wed Nov 26 09:46:15 2003] [error] [client -- Zensur --] Premature end of script headers: test2.pl
[Wed Nov 26 09:46:30 2003] [error] [client -- Zensur --] Premature end of script headers: test2.pl


und das hier stand auch drin

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "c"
are supported and installed on your system.


Ich hab keine ahnung was da vor sich geht. Print hab ich auch klein geschrieben ohne erfolg :cry:
User avatar
Schnuckel
 
Posts: 35
Joined: 02. October 2003 21:22
Location: Bayern

Postby Oswald » 26. November 2003 10:14

Huhu Andras!

Aber auch wenn Du print klein schreibst, wird Dein Programm nicht funktionieren. Es funktioniert dann zwar aus Perl-Sicht. Aber nicht aus Apache-Sicht. Es ist nämlich kein CGI-Programm.

Ein CGI-Programm muss immer mit der Ausgabe des Content-Types anfangen. Also am Anfang Deines Perl-Skripts muss noch:

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

stehen.

Mit kleinem print und dieser Zeile sollte es dann endlich funktionieren.

Lieben Gruß
Oswald
User avatar
Oswald
Apache Friends
 
Posts: 2718
Joined: 26. December 2002 19:51
Location: Berlin, Germany
Operating System: Linux

Postby Schnuckel » 26. November 2003 10:24

Yeaaaaahhh *freu* *huepf*

Es funktioniert endlich. Vielen dank für den tip.

Aber schade dass keine syntaxfehler ausgegeben werden. Wenn ich mir vorstelle beim coden wegen jedem fehlerchen die error_log zu durchsuchen müssen da graust's mir jetzt schon davor.
User avatar
Schnuckel
 
Posts: 35
Joined: 02. October 2003 21:22
Location: Bayern


Return to XAMPP für Linux

Who is online

Users browsing this forum: No registered users and 17 guests