2013-09-03 20 views
5

Perl dünyasında CPAN adlı harika bir şey var. Açık kaynak Perl kütüphaneleri için büyük bir depolama alanıdır.Perl CPAN sözlüğü

CPAN'dan modülleri kullanıyorum ve several distributions myself'u yayımladım.

CPAN'ı kullanıyorum, ancak anlamadığım önemli bir şey var. CPAN'daki farklı şeyler için hangi kelimelerin kullanıldığını bilmiyorum. Bu yazının başında, libraries, modules, distributions sözcüklerini kullandım, ancak onları doğru şekilde kullandığımı bilmiyorum.

Eğer (onlar CPAN kapsamında kullanılıp kullanılamayacağını) Bu sözcüklerin her CPAN durumunda ne anlama geldiğini açıklayabilir misiniz:

  • modül
  • paket
  • bırakma
  • dağıtım kütüphane
+0

Kısmi cevap: http://stackoverflow.com/q/6376006/1030675 – choroba

+1

@choroba, bu cevap, ben terimleri tanımlamak için çalışmıyordum. OP'nin kütüphane tanımını nadiren kullanılan kütüphane tanımını kullandım. Yine de, muhtemelen büyük ilgili okuma. – ikegami

cevap

15

bu terimlerin tamamı

  • "esnek olması Perl bağlamında bile tanımlar.

    • modül

      diğer dosyaları veya bir sınıf tarafından çağrılacak işlevleri sağlayan bir dosyayı diğer dosyaları tarafından kullanılmak üzere: Bir Perl bağlamda, bunlar en yaygın olarak şunları anlamına gelir. Bu .pm uzantısına sahip olacaktır. package direktifine sahip olacak. Genellikle use kullanılarak yüklenir. vb

      Örnek: XML/LibXML.pm

    • paket

      semboller yerleştirmek için hangi ad içine Perl talimatını bir directive. Ayrıca "ad alanı" için eşanlamlı olarak kullanılır.

      Örnek: XML :: Libxml

    • dağıtım

      bir yükleyici dahil modülleri koleksiyonu. CPAN'da bulunanlar.

      Örnek: XML Libxml

    • kütüphane

      bir dağılımını gösteren bir C kütüphanesi için bir arabirim sağlar belki de hariç Perl jargon parçası değil. C'de, diğer nesneler ve yürütülebilir dosyalar tarafından erişilebilen bir dizi fonksiyon ve semboller anlamına gelir.

      Örnek: libxml2

    • bırakma

      şeyin spesifik bir versiyonu.

      Örnek: XML-LibXML-2.0104.tar.gz

  • +0

    Teşekkür ederiz! Bu yüzden, doğru bir şekilde sizi istemediğimde bu durum nasıl çağrılır: "Plack :: Builder modülü de dahil olmak üzere birçok modüle sahip bir Dağıtım Plakası vardır. Plack'ın en son sürümü 1.0029" şeklindedir. – bessarabov

    +0

    dağıtımlarının modüllere sahip olması gerekmez; Bazılarının sadece betikleri var, ya da bazıları sadece veriye sahip olabilir, sanırım. Ve bazıları sadece birden fazla başka dağıtımın ("bağımlılıkları") kurulumunu kolaylaştırmak için var. – ysth

    +1

    Doğru, CPAN modül olmadan dağıtımları çok iyi işlemez. (Bu yüzden komutlar App :: namespace'de sahte modüller olarak yayınlanır.) – ikegami