2013-09-03 13 views
5

Nel mondo Perl c'è una grande cosa chiamata CPAN. È una grande memoria per le librerie Perl open source.Dizionario CPAN Perl

Uso i moduli da CPAN e ho rilasciato several distributions myself.

Io uso CPAN, ma c'è una cosa essenziale che non capisco. Non so quali parole sono usate per le diverse cose su CPAN. All'inizio di questo post ho usato le parole libraries, modules, distributions, ma non sono sicuro di averle usate correttamente.

Si può spiegare che cosa ciascuno di queste parole significa in caso di CPAN (se possono essere utilizzati nel campo di applicazione del CPAN):

  • modulo
  • pacchetto
  • rilascio
  • distribuzione
  • biblioteca
+0

risposta parziale: http://stackoverflow.com/q/6376006/1030675 – choroba

+1

@choroba, in quella risposta, io non stava cercando di definire i termini. Ho usato la definizione di libreria dell'OP, che è raramente ciò che si intende per libreria. Eppure, probabilmente è un'ottima lettura correlata. – ikegami

risposta

15

Tutti questi termini hanno "flex "definizioni", anche in un contesto Perl. In un contesto in Perl, che più comunemente significano la seguente:

  • modulo

    Un file che fornisce funzioni per essere chiamato da altri file o una classe per essere utilizzato da altri file.

    Avrà l'estensione .pm. Avrà una direttiva package. Di solito verrà caricato utilizzando use. ecc

    Esempio: XML/LibXML.pm

  • pacchetto

    Un directive che indica Perl in cui spazio dei nomi di inserire simboli. Viene anche usato come sinonimo di "namespace".

    Esempio: XML :: LibXML

  • distribuzione

    Una collezione di moduli inclusi un installatore. Cosa si trova su CPAN.

    Esempio: XML-LibXML

  • biblioteca

    Non fa parte di Perl gergo, tranne forse quando si indica una distribuzione fornisce un'interfaccia a una libreria C. In C fa riferimento a una raccolta di funzioni e simboli a cui è possibile accedere da altri oggetti ed eseguibili.

    Esempio: libxml2

  • rilascio

    Una versione specifica di qualcosa.

    Esempio: XML-LibXML-2.0104.tar.gz

+0

Grazie! Quindi, se ti capisco correttamente, ecco come chiamare le cose: "C'è una distribuzione Plack che ha diversi moduli incluso il modulo Plack :: Builder.La versione più recente di Plack è 1.0029" Le distribuzioni – bessarabov

+0

non devono avere moduli; alcuni hanno solo script, o alcuni potrebbero avere solo dati, suppongo. E alcuni esistono solo per semplificare l'installazione di più altre distribuzioni (le loro "dipendenze"). – ysth

+1

Vero, anche se CPAN non gestisce molto bene le distribuzioni senza modulo. (Ecco perché gli script vengono rilasciati come pseudo-moduli nell'app: namespace.) – ikegami