Thread Definition von @inc: Wo kann man den Parameter angeben (36 answers)
Opened by Gast at 2007-06-03 01:24

kristian
 2007-06-03 17:34
#48280 #48280
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hallo

Den Standard-Pfad wirst du in deinem Script setzen müssen / wollen.
Ein globales Setzen hilft dir ja nur auf deinem Rechner und ich glaube nicht, daß du nur für dich schreibst.
Du kannst das Arbeitsverzeichnis des Scriptes - im Normalfall - mit Hilfe von
Code: (dl )
1
2
use FindBin;
my $work_dir = FindBin::Bin;
auslesen und dann z.B. mit Hilfe von File::Spec
Code: (dl )
unshift(@INC, File::Spec->catdir($FindBin::Bin,'mylibs'));

dein "Modul-Verzeichnis" namens "mylibs" an erste Stelle setzen.
Die anderen Module in @INC belasten dein Script nicht. Es wird nur das geladen, was du angibst.
Somit bleibt dein Script portabel, ich kann mir nicht vorstellen, warum du dies nicht willst.
Hmmm, wir sind allerdings mitlerweile bei drei Zeilen, die in jedes Script müssen:
Code: (dl )
1
2
3
use File::Spec;
use FindBin;
unshift(@INC, File::Spec->catdir($FindBin::Bin,'mylibs'));

Gruß
Kristian

PS:
In der Praxis werden es für die Leute die es beruflich machen und die die Seltsamkeiten mancher Hoster kennen noch ein paar Zeilen mehr.
Ich hatte dies hier IMHO schon gepostet, mache es ggf. gerne wieder.

View full thread Definition von @inc: Wo kann man den Parameter angeben