[Dresden-pm] meine Einstandsmail (incl. Fragen)

Ingo Jannick liste at nuttijay.org
Do Apr 15 15:06:34 PDT 2010


Hallo Perl'er - oder seid ihr Perlen ?

glücklicherweise bin ich über die LUG_DD auf Euch aufmerksam geworden, 
und somit freue ich mich gleich mal meine Fragen an die Richtigen 
stellen zu können / dürfen (genug geschwätzt... ;)

Ich habe hier so ein NAS rumzustehen, auf dem ein ganz grottiges Linux 
läuft - und man mag es kaum glauben, da soll ein Foswiki rauf (wozu ein 
Perl benötigt wird) was ich bereits darauf gezaubert habe. Bereits dort 
hatte ich das Problem, das mir das perl sagte, das es (oder ähnlich, 
weil 'Szene nachgestellt')

.....Can't locate strict.pm in @INC (@INC contains: blib/lib 
/usr/lib/perl5/5.10.....

obwohl ich extra PERL5LIB übers /etc/profile gesetz hatte.

rambazamba:~# echo $PERL5LIB
/raid/module/PERL/perl/usr/lib/perl5/5.10.0:/raid/module/PERL/perl/usr/lib/perl5/vendor_perl:/raid/module/PERL/perl/usr/lib/site_perl/5.10.0


Nungut, da war es relativ einfach dank des netten scripts für die 
shebang, wo ich via -I alle Pfade hinzufügte.

Nun stehe ich aber vor dem selben Problem, wenn ich irgendetwas aus dem 
CPAN installieren möchte. Als Beispiel:

....
Manifying blib/lib/TAP/Parser/Grammar.pm -> 
blib/libdoc/TAP::Parser::Grammar.3pm 

   ANDYA/Test-Harness-3.21.tar.gz 

   ./Build -- OK 

Warning (usually harmless): 'YAML' not installed, will not store 
persistent state
Running Build test 

t/000-load.t .................... 33/99 # Testing Test::Harness 3.21, 
Perl 5.010000, /raid/module/PERL/perl/usr/bin/perl
t/000-load.t .................... ok 

t/aggregator.t .................. Can't locate strict.pm in @INC (@INC 
contains: blib/lib /usr/lib/perl5/5.10.0/i586-linux-thread-multi 
/usr/lib/perl5/5.10.0 
/usr/lib/perl5/site_perl/5.10.0/i586-linux-thread-multi 
/usr/lib/perl5/site_perl/5.10.0 
/usr/lib/perl5/vendor_perl/5.10.0/i586-linux-thread-multi 
/usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl) at 
t/aggregator.t line 3.
BEGIN failed--compilation aborted at t/aggregator.t line 3. 

t/aggregator.t .................. Dubious, test returned 2 (wstat 512, 
0x200)
No subtests run
....


ein perl -V flötet allerdings, dass ich (via PERL5LIB) alle Pfade 
gesetzt habe:
   Built under linux
   Compiled at Oct 24 2009 01:58:28
   %ENV:
 
PERL5LIB="/raid/module/PERL/perl/usr/lib/perl5/5.10.0:/raid/module/PERL/perl/usr/lib/perl5/vendor_perl:/raid/module/PERL/perl/usr/lib/site_perl/5.10.0"
   @INC:
     /raid/module/PERL/perl/usr/lib/perl5/5.10.0/i586-linux-thread-multi
     /raid/module/PERL/perl/usr/lib/perl5/5.10.0
 
/raid/module/PERL/perl/usr/lib/perl5/vendor_perl/5.10.0/i586-linux-thread-multi
     /raid/module/PERL/perl/usr/lib/perl5/vendor_perl/5.10.0
     /raid/module/PERL/perl/usr/lib/perl5/vendor_perl
     /raid/module/PERL/perl/usr/lib/site_perl/5.10.0
     /usr/lib/perl5/5.10.0/i586-linux-thread-multi
     /usr/lib/perl5/5.10.0
     /usr/lib/perl5/site_perl/5.10.0/i586-linux-thread-multi
     /usr/lib/perl5/site_perl/5.10.0
     /usr/lib/perl5/vendor_perl/5.10.0/i586-linux-thread-multi
     /usr/lib/perl5/vendor_perl/5.10.0
     /usr/lib/perl5/vendor_perl

und er findet strict.pm in
rambazamba:~# find /raid/module/PERL/perl/usr/lib/perl5/ -name strict.pm
/raid/module/PERL/perl/usr/lib/perl5/5.10.0/strict.pm

sollte also zu finden sein ?!

Das Spielchen wie beim Foswiki zu wiederholen geht nicht, da es ja eine 
download-from-cpan- Geschichte ist - also dynamisch.

Meine Idee wäre jetzt in der /etc/profile einen alias zu setzten, der 
allerdings dann nur für den Aufruf 'perl' oder 'pfad-zu/perl' ginge, ich 
weiß nicht, ob das aus der shebang dann funktioniert - wie dem auch sei: 
Der Ansatz ist ja wohl grausam!!

Meine Frage (nach soviel Text...): Wie kann ich das (richtig gefüllte) 
@INC  übergeben? Es scheint ja irgendwie nicht anzukommen....

Grüße auf den Abend
Ingo



Mehr Informationen über die Mailingliste Dresden-pm