PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CGI funktioniert nur mit : "use CGI qw(:standard);" ?



Stormsam
04.12.04, 15:05
HI@all,

habe ein Problem:

Habe Debian mit apache und Perl/Cgi, nur funktioniert bei mir ein normales CGI-Skript nicht:


#!/usr/bin/perl

print "Hallo Welt!\n";

Trotz CHMOD 777 kommt:

Internal Server Error

Nur wenn ich das Skript wie folgt aufbaue:

#!/usr/bin/perl -W


use CGI qw(:standard); # wir benutzen CGI

print header;
print "Hallo Welt";

und den Chmod setze kommt:

Hallo Welt

Doch wieso muss man use cgi und print header hinzufügen?
Wie kann ich einstellen, dass er CGI auch ohne diese zusätze anzeigt?

hat da vielleicht jemand eine idee?

mfg
stormsam

Spiff
04.12.04, 19:24
Doch wieso muss man use cgi und print header hinzufügen?

Du musst dem Apache mitteilen was da kommt, nämlich ein Text. Statt "print header" kannst Du IIRC auch

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

schreiben.

Stormsam
04.12.04, 21:42
ja stimmt, es funktioniert auch mit:
print "Content-Type: text/html\n\n";

doch das ist doch nicht normal das man das immer angeben muss oder?
Also normalerweise hatte cgi bei mir auch so funktioniert (auf anderen servern):


#!/usr/bin/perl

print "Hallo Welt!\n";

mfg
stormsam

Spiff
05.12.04, 08:55
doch das ist doch nicht normal das man das immer angeben muss oder?
Also normalerweise hatte cgi bei mir auch so funktioniert (auf anderen servern):


Ich kenne es nur so. Ist übrigens die meistgestellte Frage in de.comp.lang.perl.cgi, wenn ich mich nicht irre. :)

Ich selbst habe bisher aber nur ein bißchen mit dem Apachen gespielt. Kann also auch nichts weiter dazu sagen.