Hallo Struppi!
Du musst eine (welche dürfte egal sein) Perl installation haben, die in der Registry eingetragen ist. Also die die startet, wenn du eine .pl Datei einen Doppelklick machst.
Ja, .pl ist »verknüpft« mit perl.exe (C:\Perl\bin\perl.exe). Von der Perl-Installation, die xampp auf E:\xampp\perl\bin\perl.exe mitgebracht hat, ist in der Registry nichts zu sehen. Alle Einträge (shell->open->command) beinhalten den Pfad C:\Perl\bin\perl.exe ... .
Mich juckt's zu probieren, was denn passiert, wenn ich all diese Einträge in E:\xampp\perl\bin\perl.exe ... abändere, dafür brauche ich aber Ruhe (bis Dienstag nicht gegeben).
BTW: Die Ausgabe hier zeigt sehr wohl, dass die web-lib.pl gefunden wird:
E:
-xampp
--htdocs
---cgi-bin
----web-lib.pl
----test
-----cgi.cgi
Also web-lib.pl in /htdocs/cgi-bin und cgi.cgi in /htdocs/cgi-bin/test:
#!"E:\xampp\perl\bin\perl.exe"
use Cwd;
use FindBin qw/$Bin/;
use CGI qw(header);
use CGI::Carp qw(fatalsToBrowser);
require '../web-lib.pl';
print "Content-Type: text/html\n\n";
print "OK<br>\n";
print "Root is: ", $ENV{DOCUMENT_ROOT};
print "<br>", $/;
print "\@INC contains: \"@INC\"<br>", $/;
print "CWD is: ", cwd();
print "<br>", $/;
print "Datum aus web-lib.pl ermittelt ist: ", $date;
print "<br>", $/;
print "\$0 is: ", $0, "<br>", $/;
print "Perl Version is: ", $], "<br>", $/;
print "\$FindBin::Bin is: ", $Bin, "<br>", $/;
Ausgabe im Browser:
OK
Root is: E:/xampp/htdocs
@INC contains: "E:/xampp/perl/site/lib E:/xampp/perl/lib ."
CWD is: E:/xampp/htdocs/cgi-bin/test
Datum aus web-lib.pl ermittelt ist: Samstag, 5. Januar 2008 - 10.34 Uhr
$0 is: E:/xampp/htdocs/cgi-bin/test/cgi.cgi
Perl Version is: 5.008008
$FindBin::Bin is: E:/xampp/htdocs/cgi-bin/test
Fehlt, wie gesagt, der Test mit der »richtigen« Shebang, um zu sehen, ob was an Christophs Hinweis dran ist und es evtl. doch daran liegt.
Viele Grüße aus Frankfurt/Main,
Patrick
_ - jenseits vom delirium - _
[link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
Nichts ist unmöglich? Doch!
Heute schon gegökt?