Pagina 1 di 1

Perl, dove si modifica "@INC"? [RISOLTO]

Inviato: lun 11 giu 2007, 3:32
da algol
Salve,

ho la current e volevo installare dei vecchi pacchetti che abbisognano di perl (frozen-bubble e soci), però capita che tali pacchetti (ad esempio locale-gettext) si installino in /usr/lib/perl5/site_perl/5.8.8/i486-linux, ma il percorso di ricerca dei moduli perl (il cosiddetto @INC) non contiene tale path, bensì il nuovo /usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi, e tali moduli non vengono trovati.

Come si fa insomma a modificare tale percorso, ovvero aggiungere un altra directory?

Grazie, ciao.

A.

Inviato: lun 11 giu 2007, 9:05
da dapuzz
Se è un solo file perl puoi modificare lo script "pushando" la directory nell'array inc, o altrimenti ti conviene fare un alias per il perl che richiami il vero perl col parametro -I nomedir.

Inviato: mar 12 giu 2007, 1:37
da algol
EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH?!!!!!!?!?!?!?!?!?!?!?!?!?!

:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:
:shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock: :shock:

Inviato: mar 12 giu 2007, 7:50
da dapuzz
per l'ipotesi n1:
http://www.google.com/search?rls=it&q=p ... 8&oe=utf-8
per l'ipotesi n2:
a) alias http://www.ss64.com/bash/alias.html
b) crei uno script di shell /usr/bin/perl che al suo interno contiene perl -I /nomedirdaincludere $*

Cosa non ti è chiaro?

Inviato: mer 13 giu 2007, 3:10
da algol
Ok, leggicchiando qualcosa forse ora ho quaasi capito quello che dicevi...

Alla fine credo di aver risolto ponendo

Codice: Seleziona tutto

export PERL5LIB=/usr/lib/perl5/5.8.8/i486-linux:/usr/lib/perl5/site_perl/5.8.8/i486-linux
in .bashrc; facendo così me li elenca correttamente:

Codice: Seleziona tutto

perl -e 'print join "\n", @INC'
/usr/lib/perl5/5.8.8/i486-linux
/usr/lib/perl5/site_perl/5.8.8/i486-linux
/usr/lib/perl5/5.8.8/i486-linux-thread-multi
/usr/lib/perl5/5.8.8
/usr/lib/perl5/site_perl/5.8.8/i486-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.8
/usr/lib/perl5/site_perl
Visto che si tratta di vari pacchetti con vari file ciascuno, credo sia la soluzione migliore.

Grazie, ciao.

Inviato: mer 13 giu 2007, 9:33
da dapuzz
lol, anche un'altra soluzione! :)