Thread use lib ersetzen (17 answers)
Opened by bianca at 2012-06-20 20:02

clms
 2012-06-21 10:06
#159283 #159283
User since
2010-08-29
373 Artikel
BenutzerIn
[default_avatar]
Guest Muffi
Verständnisfrage:
Warum used das andere Script die libs dann nicht?

Das Füllen von %env und das require und Kompilieren des nachgeladenen Skripts geschehen zur Laufzeit.

use lib @{$env{perlmodule_eigen}}; wird aber schon zur Kompilezeit ausgeführt. Dann ist %env noch leer, der Suchpfad wird also nicht erweitert.

Lösung: Entweder %env zur Kompilezeit füllen (BEGIN-BLock) oder den Pfad erst zur Laufzeit mit push @INC... erweitern. Dann wirkt sich der erweiterte Pfad aber nur für Dinge aus, die danach (mit require)geladen werden.

View full thread use lib ersetzen