Zuordnung der cgi-Scripte nicht ueber den Shebang, sondern ueber die Endung:
In der Apache/config/httpd.conf folgende Zeile (etwa Zeile 640) aktivieren, indem du das Kommentarzeichen # davor entfernst
ScriptInterpreterSource registry
Dafuer solltest du auch .cgi mit Perl assoziieren: In der Shell
assoc .pl=Perl
assoc .cgi=Perl
ftype Perl=c:\wampp1\perl\bin\perl.exe "%1" %*
(Falls du da ein anderes Perl verwenden willst (z.B. ein neueres, dann gib einfach den Pfad zu der anderen perl.exe an. Loesche aber das alte Perl nicht, weil das vom Apache noch fuer eine andere Art der Webprogrammierung (=mod_perl) benoetigt wird).
Dann .pl auch als CGI-Script behandeln:
Zeile ~700:
AddHandler cgi-script .cgi .pl
Ich richte zum Entwickeln am liebsten mehrere Virtuelle Webs ein, die ich dann ueber den Port unterscheide (z.B. 8081-8090 oder so). Das sieht bei mir folgendermaszen aus
Nach der Zeile, wo
#Listen 3000
#Listen 12.34.56.78:80
steht, fuege ich folgende Zeile ein:
und schreibe dann z.b. ganz am ende der Datei:
NameVirtualHost 192.168.1.2:8081
<VirtualHost 192.168.1.2:8081>
DocumentRoot E:/apacheweb/8081_irgendwas/html
AddHandler cgi-script .cgi .pl
ScriptAlias /cgi-bin/ "E:/apacheweb/8081_irgendwas/html/cgi-bin/"
ErrorLog E:/apacheweb/8081_irgendwas/log/error.log
CustomLog E:/apacheweb/8081_irgendwas/log/access.log combined
AccessFileName .htaccess
</VirtualHost>
Die Verzeichnisse
e:\apacheweb\8081_irgendwas\html\cgi-bin
und
E:/apacheweb/8081_irgendwas/log/
musst du natuerlich erstellen, bevor du den server neu startest (wenn du ihn als service installiert hast, geht das in der shell mit:
net stop apache
net start apache
)
das hat den vorteil, dass du so mehrere webs haben kannst, und fuer jedes web eigene logdateien (erleichtert die fehlersuche oft ziemlich). und du hast das web (=die daten) von der software (=c:\wampp1) getrennt
Aufrufen kannst du das ganze ueber
http://192.168.1.2:8081/
(192.168.1.2 musst du natuerlich ueberall durch deine IP-Adresse ersetzen)
wenn du das mitgelieferte perl verwenden willst (funktioniert am anfang recht gut), solltest du, damit du ueber das Modul CPAN Module installieren kannst, die Datei c:\wampp1\perl\lib\CPAN\Config.pm loeschen (oder umbenennen), dann wird CPAN bei der ersten Verwendung initialisiert und hat nicht die Einstellungen des Entwicklers, die bei dir nicht funktionieren duerften.