FAQ sulla Ricerca in CPAN

Domande Fatte Frequentemente (FAQ)

1. Che cosa fa funzionare questo sito?
2. Perché il "Modulo X" manca?
3. Perché il "Modulo X" manca, anche se compare su search.cpan.org?
4. Perché manca la documentazione per il "Modulo X"?
5. Perché mancano alcuni, o tutti i prerequisiti di un package?
6. Che cosa è la sintassi per le domande?
7. Come uso i respository PPM che vengono visualizzati?
8. Ci sono altri motori di ricerca per CPAN?
9. Quali convenzioni sono utilizzate che possono essere usate per i link esterni?
10. Ho trovato un problema. Con chi mi metto in contatto?
11. Il codice sorgente che fa funzionare questo sito è disponibile?

Che cosa fa funzionare questo sito?

  Il computer di base è una macchina linux. I software utilizzati includono mysql, Apache e mod_perl, Template-Toolkit e, naturalmente, Perl. Il multiplexer utilizzato per ridigere (eventualmente) i download al mirror CPAN più vicino è basato su GeoIP. Il collegamento di rete è fornito dall'Università di Winnipeg.

Perché il "Modulo X" manca?

  Supponendo che il modulo sia stato indicizzato con successo in CPAN e che sia passato sufficiente tempo affinché il mirror locale lo abbia preso, questo può essere dovuto ad una distribuzione che non segua una struttura convenzionale. In particolare, qui è supposto che si possa scompattare la distribuzione in una sotto-directory derivata dal suo nome, e che il nome della distribuzione e una stringa contenente la versione del modulo siano ottenibili per mezzo del modulo CPAN-DistnameInfo di Graham Barr.

Perché il "Modulo X" manca, anche se compare su search.cpan.org?

  Il processo di indicizzazione usato è basato sugli indici CPAN, ed è più restrittivo di quello di search.cpan.org. Quindi, se un modulo non compare qui, molto probabilmente non ci sarà neppure utilizzando strumenti quali `CPAN/CPANPLUS`. Ciò può essere dovuto ad un certo numero di ragioni: il modulo può essere una versione di sviluppo (indicata come tale con il carattere '_' presente nel numero di versione della distribuzione), o può non essere stato registrato con PAUSE, oppure forse è stato registrato ma sotto un differente identificativo CPAN. Si noti inoltre che soltanto le versioni più recenti delle distribuzioni sono inserite nel database, cosa che esclude la visualizzazione di veccchie versioni di distribuzioni di moduli.

Perché manca la documentazione per il "Modulo X"?

  Ciò può essere dovuto a problemi durante l'estrazione del pod e/o durante la sua conversione in HTML. Un'altra ragione potrebbe essere che il pod non segua la convenzione assodata per la sezione `NAME` del pod che prevede che vi venga specificato il nome del modulo. Per concludere, può succedere che la documentazione sia presente, ma non sia in una posizione standard: ad esempio, potete controllare http://cpan.uwinnipeg.ca/htdocs/libnet/ per un elenco di tutti i documenti relativi ad una data distribuzione.

Perché mancano alcuni, o tutti i prerequisiti di un package?

  Le informazioni relative ai prerequisiti sono estratte dal file `META.yml` presente nella distribuzione del package. Non tutte le distribuzioni contengono questo file, poichè esso viene generato (quando si fa una distribuzione) solo dalle recenti versioni di `ExtUtils::MakeMaker` o `Module::Build`.

Che cosa è la sintassi per le domande?
  - Una stringa di ricerca come `foo bar` cercherà, a seconda del tipo di ricerca specificato, tra i nomi dei moduli e gli abstract, tra i nomi delle distribuzioni e gli abstract, o tra gli identificativi del CPAN e i nomi completi degli autori; verranno visualizzati i risultati che conterranno tutti termini della stringa di ricerca specificati. Nella ricerca sugli abstract, saranno usati solamente i termini della stringa di ricerca più lunghi di due lettere.
  - Se desiderate escludere risultati che contengano un determinato termine di ricerca, preponete a quel termine un segno meno (ad esempio `foo -bar`).
  - Le ricerche possono anche essere fatte usando le espressioni regolari - queste sono riconosciute dalla presenza di uno o più caratteri `^, $, *, +, ?, |` nel termine di domanda.
Come uso i respository PPM che vengono visualizzati?

  Consultate la documentazione inclusa in ActivePerl per informazioni sull'uso di ppm. I package ppm che compaiono qui possono essere installati con il programma di utilità `ppm`. Per i package ActivePerl, dovreste essere in grado di installarli semplicemente con `install Package-Name` dalla shell `ppm`; per gli altri package, dovete aggiungere, alla vostra lista dei repository, l'indirizzo indicato:

  - http://www.bribes.org/perl/ppm, per il repository bribes Perl 5.6/5.8
  - http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer, per il repository uwinnipeg Perl 5.6
  - http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58 (ActivePerl Builds < 819) / http://theoryx5.uwinnipeg.ca/ppms/ (ActivePerl Builds >= 819), per il repository uwinnipeg Perl 5.8

  Assicuratevi di utilizzare il corretto repository per la vostra versione del Perl (repository 5.6 per ActivePerl 6xx e repository 5.8 per ActivePerl 8xx). Inoltre notate che il nome del package che compare qui, basato sul nome di distribuzione di CPAN, è quello da usare quando installate un package; questo corrisponde spesso, ma non sempre, al nome del modulo principale nel package.

  Se mantenete un repository ppm e desiderate includerlo in questo database, attualmente è richiesto un file summary.ppm contenente la lista dei package ppm disponibili nel vostro repository. Informazioni su come generare questo file sono contenute in uno script disponibile nella distribuzione PPM su CPAN. Dopo aver generato questo file, siete pregati di scrivere a Randy Kobes con i particolari del vostro repository.

Ci sono altri motori di ricerca per CPAN?
  Sì.
  - search.cpan.org
  - www.perldoc.com
  - wait.cpan.org
Quali convenzioni sono utilizzate che possono essere usate per i link esterni?
  - Un link come http://cpan.uwinnipeg.ca/~gbarr mostrerà tutte le informazioni sull'autore CPAN con identificativo `GBARR`.
  - Per le informazioni su una distribuzione o su un modulo particolari, usate un link quale http://cpan.uwinnipeg.ca/dist/libnet (per le distribuzioni) o http://cpan.uwinnipeg.ca/module/Net::FTP (per i moduli). Per le distribuzioni, può essere usato anche http://cpan.uwinnipeg.ca/~gbarr/libnet, se conoscete l'autore CPAN.
  - Per gli elenchi alfabetici delle distribuzioni o dei moduli, usate http://cpan.uwinnipeg.ca/dist/A/ o http://cpan.uwinnipeg.ca/module/A/ per tutte le distribuzioni o i moduli che cominciano con una determinata lettera. Usate http://cpan.uwinnipeg.ca/dist/Apache/ o http://cpan.uwinnipeg.ca/module/Apache/ per elencare, rispettivamente, le distribuzioni `Apache-*` o i moduli nel namespace `Apache::*`. Fate attenzione allo slash finale in questi link.
  - Per il link ad un elenco di categoria, può essere usato http://cpan.uwinnipeg.ca/chapter per l'elenco principale delle categorie, http://cpan.uwinnipeg.ca/chapter/World_Wide_Web_HTML_HTTP_CGI per una categoria specifica e http://cpan.uwinnipeg.ca/chapter/World_Wide_Web_HTML_HTTP_CGI/Apache per una sotto categoria.
  - I link ai documenti per un determinato modulo possono essere fatti come http://cpan.uwinnipeg.ca/htdocs/libnet/Net/FTP.html per consultare la documentazione di `Net::FTP` nella distribuzione `libnet`. Alternativamente, si può usare http://cpan.uwinnipeg.ca/perldoc?Net::FTP. (questo funziona anche per la documentazione del core Perl - per esempio, http://cpan.uwinnipeg.ca/perldoc?perlfaq visualizza la documentazione perlfaq). Si noti che questi link possono non funzionare con tutti i moduli, per una varietà di motivi, principalmente per le convenzioni assunte negli indici CPAN e per il formato della documentazione pod trovata nella distribuzione.
Ho trovato un problema. Con chi mi metto in contatto?

  Siete pregati di inviare un'email a Randy Kobes se incontrate i problemi, compresi link errati nella documentazione od errori di traduzione. Includete anche i particolari (ed i link) di quello che stavate facendo quando il problema è successo.

Il codice sorgente che fa funzionare questo sito è disponibile?

  Sì. Si veda il progetto CPAN-Search-Lite su SourceForge. Una mailing list è disponibile per porre domande sulle impostazioni del software, per discutere e segnalare dei bug e per proporre miglioramenti e nuove funzionalità. Si noti che questo progetto non è inteso per "competere" con (lo stupefacente) search.cpan.org, che contiene un certo numero di funzionalità qui assenti (rilasci precedenti delle distribuzioni, `grep` e `diff` utility, ecc.). Una direzione che questo particolare codice può prendere è verso servizi che non siano solo l'accesso web classico (per esempio, servizi basati su SOAP).