Patrick Andrieu (noreg): XAMPP Konfiguration

Beitrag lesen

und das ist /xampp/cgi-bin? Oder ein anderes Verzeichnis?
Das ist ein anderes - wie schon geschrieben, ist es das Verzeichnis wo auch das ausführende Script liegt.

use FindBin;  
use lib '$FindBin::Bin';

Du wirst nicht drum 'rum kommen, ein kleines Testskript zu schreiben, um zu sehen, was Sache ist ;)

#!C:/Perl/bin/perl.exe -w  
  
use strict;  
use Cwd;  
use FindBin;  
use CGI qw(header);  
use CGI::Carp 'fatalsToBrowser';  
#use <DEINMODUL>;  
#require <DEINSCRIPT>;  
  
print header();  
print "Current WD ist: ", cwd(), "<br>";  
print "Verzeichnis des Skripts ist: ", $FindBin::Bin, "<br>";  
print "@INC <br>";

Und dann entfernst Du die Kommentare bei den Zeilen, die Deine Module einbinden, und testest erneut! Auch mit:

use lib '$FindBin::Bin';

(nach dem Einbinden von FindBin, natürlichement!)

Was soll ich Dir noch sagen? Wie schon erwähnt, wenn »Can't locate ...« ausgegeben wird, dann findet Perl die per use oder require benötigten Module oder Skripte nicht!

Bedenke, dass (wenn sich nichts geändert hat, ich habe Xampp 1.7.2) das cgi-bin sich außerhalb des DOCUMENT_ROOT befindet (/xampp/htdocs).
Genau dieses verhalten abzustellen habe ich ja im eingangsposting gefragt.

Durch ein Konfigurieren in der httpd.conf oder - wie bei mir hier daheim der Fall - durch das Anlegen von Virtual Hosts (httpd-vhosts.conf, zu finden in /xampp/apache/conf/extras). Das impliziert aber auch ein Editieren der hosts-Datei (unter Windows: %WINDIR%\system32/drivers/etc - bei Vista muss man sich die Rechte aneignen).

Da wir nicht wissen, wie Du was konfiguriert (oder nicht) hast, ist Hilfe hier schwer zu leisten.
ich habe versucht in der "perl.conf" das o.g. verzeichnis einzubinden. Allerdings ohne Erfolg.

Diese Datei habe ich nie editieren müssen und nie angerührt...

Na jetzt könntest Du ScriptInterpreterSource registry in die httpd.conf notieren, wird vermutlich, wenn Du allen Anschein nach ein Pfad-Problem hast, nicht viel helfen.
in WELCHEM Teil der httpd.conf sollte ich dieses denn tun?

Egal wo, Hauptsache nicht innerhalb eines Blocks. Aber sicherheitshalber informiere Dich darüber. Nicht dass ich Schuld sein soll an irgendwelchen Abstürzen bei Dir ;)

Das erlaubt Dir auf jeden Fall, die Shebang #!/usr/bin/perl zu benutzen, ohne vor jedem Hochladen auf dem »entfernten« Server die Ersetzung vorzunehmen.

mod_perl habe ich deaktiviert.
wie kann man das abschalten?

Beim allerersten Start von XAMPP wirst Du in einem cmd-Fenster gefragt. Müsste nachträglich aber auch über die xampp.bat zu ändern gehen...

P.