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.