2009-06-19T12:24:31
roooot
use lib (
'./module',
'./module/CPAN'
);
Der weg hat aber mehrere Nachteile.
1) Platformabhängig. Läuft nur auf Unix ähnlichen Systemen, auf anderen muss es nicht laufen und dafür gibt es keine Garantie.
2) Der Punkt "." stellt das aktuelle Arbeitsverzeichnis dar, nicht das Verzeichniss indem sich die Datei befinden. Daher wenn du eine ausführbare datei unter "/usr/local/bin/asdfg.pl" hättest und du befindest dich in "/home/sidburn" und rufst dein programm mit "asdfg.pl" auf dann fügst du folgende Ordner hinzu
"/home/sidburn/module",
"/home/sidburn/modules/CPAN"
ich kann mir schwer vorstellen das dies etwas ist was irgendjemand haben möchte.
(Es wird natürlich wirklich nur "./module" hinzugefügt, aber es expandiert eben zu oberes, sofern man nicht mit chdir() den arbeitsordner wechselt)
Besser wäre folgendes:
use FindBin;
use File::Spec::Functions;
use lib catdir($FindBin::Bin, 'module');
use lib catdir($FindBin::Bin, 'module', 'CPAN');
Last edited: 2009-06-19 16:50:51 +0200 (CEST)
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de