Come vengono gestite librerie di base del Perl?
Domanda
Dal mio funzionalità di base tradizionalmente è solo incluso comprensione Perl, e la gente installare librerie aggiuntive a fare ogni sorta di cose utili (e, a volte molto di base). Ma ad un certo punto c'è venuto per essere "librerie di base" che vengono forniti con Perl di default -. In modo da poter usare queste librerie senza installarli
Per chi proviene da Python sono curioso come questo viene gestito. In particolare:
- Come sono le librerie scelto?
- le librerie hanno ancora i loro numeri di versione e tempi di rilascio?
- Che tipo di garanzie indietro-compatibilità avete quando si utilizzano queste librerie?
- E 'comune per aumentare o ridurre queste librerie in un sistema? È questo a livello di sistema fatto o più specificamente?
- Se c'è un bug fix che richiede un cambiamento API, come succede questo?
- Come viene funzionalità aggiunta a queste librerie di base (se è a tutti)?
Soluzione
- Al momento, solo le librerie che sono necessarie per bootstrap / installare altre librerie vanno in href="http://search.cpan.org/dist/Module-CoreList/" rel="nofollow noreferrer"> lista nucleo .
- Alcuni sono solo nel repository git Perl. Alcuni sono dual-vita su CPAN e in pronti contro termine. A volte i bug vengono fissati in pronti contro termine e le modifiche vengono backport alla versione CPAN. A volte c'è una nuova versione in un Perl controlli manutentore CPAN e il modulo nel repository.
- Potete contare su un modulo di base. C'è un periodo deprecazione molto lungo prima che uno viene rimosso, recente esempio importante era
Switch
. - confezionatori (ad esempio le persone che RPM di generazione per una distribuzione Linux) non potevano ottenere questo diritto; l'ordine sbagliato di includere percorsi (
@INC
) non è colpa loro, e infine fissato con 5.12 . Questo è il motivo per cui la raccomandazione proviene per compilare il proprio perl e non si scherza con l'installazione del sistema. Con 5.12, si suppone di solo uso CPAN di installare una versione aggiornata di un modulo di base, e viene installato addtionally a quello fornito con il sistema, ma dal momento che il nuovo viene prima quello vecchio nel percorso di inclusione, la nuova uno viene caricato quando siuse
/require
esso. - perlpolicy .
- Programma la funzionalità e test per esso, documentano la cosa, quindi rilasciare su CPAN o, rispettivamente, hanno un manutentore applicare il changeset. Questo è accompagnato da una discussione sulle P5P .
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow