CGI und Perl
Berthold Müller
Hallo,
ich arbeite mit einer NT4.0-Workstation mit Peer Web Server und versuche das Beispiel PERL-Script comments.pl auf meinem Rechner zum Laufen zu bringen. OHNE ERFOLG !
Das Verzeichnis c:\perl habe ich als /perl -alias definiert. Als Nachricht erhalte ich Fehler 501.
Wer hat einen Tip ?
Gruß B.Müller
Hallo Berthold,
Das Verzeichnis c:\perl habe ich als /perl -alias definiert. Als Nachricht erhalte ich Fehler 501.
Der Perl-Interpreter unter Windows legt seine EXE doch darunter nochmal in einem Unterverzeichnis bin ab, wenn ich nicht irre. Der Pfad zur perl.exe waere dann also
#!/perl/bin/perl.exe
So sollte es im Script in der ersten Zeile stehen.
Viele Gruesse
Stefan Muenz
Hallo Berthold,
Das Verzeichnis c:\perl habe ich als /perl -alias definiert. Als Nachricht erhalte ich Fehler 501.
Der Perl-Interpreter unter Windows legt seine EXE doch darunter nochmal in einem Unterverzeichnis bin ab, wenn ich nicht irre. Der Pfad zur perl.exe waere dann also
#!/perl/bin/perl.exe
So sollte es im Script in der ersten Zeile stehen.Viele Gruesse
Stefan Muenz
Hi Berthold hi Stefan,
sorry, aber das hat damit ueberhaupt nichts zu tun.
Error 501 meinthier zwar, dass Perl nicht richtig installiert ist, das ist schon
richtig, aber die Angabe
#!/perl/bin/perl.exe
interessiert Windows ueberhaupt nicht. Das ist allerdings bei Unix-Systemen wiederum
richtig.
Das problem ist leider ganz anderer Natur. Die meisten Perl-Installationen legen in
der Registry einen falschen Eintrag an, und man muss das muehsam bei einfachen
WebServern mit den fingern umfriemeln.
Der Registry-Eintrag muss bei
HKEY_LOCAL_MACHINE
\SYSTEM
\CurrentControlSet
\Services
\W3SVC
\Parameters
\Script Map
folgenden Eintrag haben
.pl c:\perl\bin\perl.exe %s %s
und, weils so schoen ist, machst du
.cgi c:\perl\bin\perl.exe %s %s
gleich mit. Beim OmniHTTPd fuer Win95 ist das natuerlich einfacher zu handeln.
Da es ein Eintrag in der Registry ist, muss die Kiste neu gestartet werden.
in das Verzeichnis /cgi-bin/
legt man sich ein test.pl hin, etwa
print "Content-type: text/html\n\n";
print "Holla, das funzt endlich!\n";
und wenn das mit
http://127.0.0.1/cgi-bin/test.pl
im Browser laeuft, laeuft auch Perl/CGI.
Das mit /perl wuerde ich mal schleunigst rausnehmen. Denn wenn ich dire
was Boeses will, koennte ich dich abfangen, wenn Du online bist, und deinn Perl
ein paar Commandos senden, damit ich mit deinem Rechner machen kann, was
ich will.
Gruesse
Stefan R. Mueller