Thread Modul nicht vorhanden
(21 answers)
Opened by Tom at 2005-10-03 21:04
Hallo
Ist mein Perl denn so unverständlich? Erstmal: Ein Perlscript sucht Module in den Verzeichnissen, die in "@INC" gelistet sind. Wenn ich jetzt eigene Module nutzen will muss das Verzeichnis in dem meine Module liegen in @INC stehen. Die Frage ist also, wie bekomme ich "mein" Verzeichnis in @INC hinein. Der normale Weg wäre: Code: (dl
)
1 use FindBin; use lib "$lib_dir"; klappt leider nicht, da alle "use-Anweisungen" vorrangig behandelt werden, daher push oder unshift jenachdem ob meine Module vor den ev. auf dem Server installierten gefunden und genutzt werden sollen. Wenn jetzt bei einem Hoster FindBin kaputt ist und der Hoster das auch nicht reparieren will oder kann muss man tricksen. Mein Workarround macht nicht anderes, als zu testen, ob FindBin funktioniert und ob es das Verzeichnis $FindBin::Bin auch wirklich gibt. Für den Fall dass es das Verzeichnis nicht gibt, wird $0 (kompletter Pfad des Scriptes) zerlegt und das Verzeichnis als Arbeitsverzeichnis gesehen. Was anderes macht FindBin übrigens auch nicht, nur halt etwas sicherer und platform-übergreifender als ich hier. Dem Arbeitsverzeichnis hänge ich dann das Modulverzeichnis an (File::Spec) und schiebe das ganze nach @INC; In der Hoffnung dass das jetzt verständlich war Kristian\n\n <!--EDIT|kristian|1128765028--> |