CPAN è l’archivio online di tutta la robaccia che i vari perlisti si inventano. C’è bisogno di qualche modulo per puffare qualcosa di puffoso? Vallo a cercare su CPAN!

cpan è anche un programma che permette di interagire via linea di comando con l’archivio online di CPAN per scaricare e gestire i moduli perl che potrebbero risultare utili. Nel caso ce ne sia bisogno, si puo’ lanciare con un:

# cpan

o (in maniera più perlica, poichè CPAN è infine anche un modulo)

# perl -MCPAN -e ’shell’

cpan ha un file di configurazione che indica dove e come agire quando si scaricano i moduli. Queste informazioni (che di solito stanno in un qualcosa di simile a CPAN/Config.pm) su debian sono nel file /etc/perl/CPAN/Config.pm; la configurazione è un semplice hash gestibile dalla shell di cpan con il comando > o conf.

Ovviamente, come per tutti i linguaggi, i file-librerie (moduli) che si usano per “aggiornare” il perl vanno messi in percorsi specifici che in questo caso sono dentro l’array @INC; lanciando un programma perl il compilatore va a cercare le lib incluse.
In Debian:

# Directory per lib perl in Debian

perl -e ‘for (@INC) { if (-d $_) { print "esiste    : $_"; } else { print "non esiste: $_"}; print "\n" }’
esiste    : /etc/perl
non esiste: /usr/local/lib/perl/5.10.1
non esiste: /usr/local/share/perl/5.10.1
esiste    : /usr/lib/perl5
esiste    : /usr/share/perl5
esiste    : /usr/lib/perl/5.10   #link a 5.10.1
esiste    : /usr/share/perl/5.10 #link a 5.10.1
non esiste: /usr/local/lib/site_perl
esiste    : .

Ohibò.
Gli /usr/local non esistono. WTF?

Di recente (settembre mi pare) perl è passato alla versione 5.10.1, e mentre Debian si è aggiornata serenamente in modalità semi-automatica, la parte /usr/local/ che viene gestita attraverso il modulo CPAN non e’ stata upgradata (son fesso, I know).

Dovendo cercare un modulo perl e auspicando che più controlli siano meglio, tanto vale affidarsi ai manutentori di Debian – cpan potrebbe essere più esotico e volatile; come sistemisti avere una base più solida può essere ritenuto generalmente migliore, anche se si rimane indietro di un paio di sottoversioni della lib voluta.
apt di norma ha tutti i pacchetti che si potrebbero volere, basta trovarli, e li si può a ragione ritenere stabili.
Le ricerche sui pacchetti di Debian possono essere completate nei due form a questa pagina; il secondo ricerca esattamente i pacchetti che contengono il file nominato, il che puo’ essere utile quando si ricerca un modulo specifico visto su CPAN.
(Es: Ricercando il modulo Restarter.pm si ottiene questo.)


Nota: le installazioni di cpan dipendono dal Makefile del modulo (vedere qui: /root/.cpan/build/ ), mentre quelle di Debian dai pacchetti (# dpkg -L nome_pacchetto).

Nota2: Se si è su Slackware o Gentoo, probabilmente tutte le lib perl stanno in un percorso sotto /usr/lib/perl divise per versione, site_perl e vendor_perl a seconda di come sono state installate.




Write a comment


You need tologin.

    
SIMOTRONE WEB PAGE is based on WordPress platform, RSS tech , RSS comments design by Gx3.