Cheatah: Perl unter Apache

Beitrag lesen

Hi,

Was muss ich anpassen, damit meine alten Perlprogramme bei dem Apache laufen?

Perl hat mit der verwendeten Serversoftware nichts zu tun. Daran siehst Du einen Mangel[1] in OmniHTTPd: dort wurde in der Konfiguration der Pfad zum Perl-Interpreter eingestellt.

Ich habe gelesen, man muss die Zeile "#!/usr/bin/perl" anpassen,

Diese Zeile (Shebang genannt) sagt, wo der Perl-Interpreter zu finden ist. Sorge dafür, dass bei Dir die selben Bedingungen herrschen wie bei Deinem Provider: installiere Perl nach C:\usr, dann existiert ein C:\usr\bin\perl.exe.

Übrigens sollte die Shebang "#!/usr/bin/perl -w" lauten, und direkt danach ein "use strict;" folgen. Wenn das bei Dir noch nicht der Fall war, ändere es - und korrigiere die Fehler, die Dir anschließend genannt werden.

das möchte ich aber nicht, da sonst mein Provider Probleme machen könnte.

Dein _Provider_ macht Probleme? ;-)

#!/usr/bin/perl
print "hallo welt";

Das ist kein CGI-Script. Selbstverständlich wird es einen Internal Server Error erzeugen, wenn Du es über HTTP ansprichst.

#!/usr/bin/perl -w
use strict;
use CGI ':standard';
print header, 'Hallo Welt';

Siehe

perldoc perlrun (-w)
perldoc strict
perldoc CGI

Cheatah

[1] Meiner Meinung nach. Andere mögen anderer Ansicht sein, und vielleicht auch darauf hinweisen, dass man Apache so konfigurieren kann, dass es den Pfad zum Perl-Interpreter aus der Registry holt. Davon rate ich aber ab, weil wegen unflexibel.