Package是一个名称空间。模块是带有Perl代码的文件。 cpan
和cpanm
可能是程序包管理器。当我做cpanm XML::LibXML
时,我会安装什么?
答案 0 :(得分:6)
分布(或简称为“ dist”)。
Perl分发单元的名称为 distribution ,因此cpanm XML::LibXML
安装XML-LibXML distribution ,因为它包含指定的XML :: LibXML < em>模块。
示例1
示例2
请注意,Linux发行版通常具有程序包管理器,例如apt
或yum
,并且许多Perl发行版都可以作为 packages 用于那些程序包管理器。使用这些程序包管理器的人可能会将Perl发行版称为程序包,但这不是标准的Perl行话。
答案 1 :(得分:3)
下载名称如“ UseFull :: Munger”的软件包时
您至少会在perl库中安装一个UseFull / Munger.pm文件。
您还可以获得用于实现主要模块的一组模块:“ / UseFull / Munger / dyslexic.pm”。
该模块可能是C库(例如LibXML)的包装,在这种情况下,您将安装一些二进制文件,例如“ auto / XML / LibXML / LibXML.so”。
如果cpan需要为库构建包装器,您将获得一些“ UseFull / Munger / SlickClib / SlikClib.xs”文件,这些文件告诉CPAN如何构建perl包装器。
此外,如果开发人员很好,您可能会获得很多有关如何使用该模块的“ .pod”文档。
答案 2 :(得分:2)
我称这些 Perl模块或 CPAN模块。单个.pm构件也是 Perl模块,但是您很少直接使用它们。
在谈论要上传到CPAN的存档文件时,可以使用 distribution 一词。谈论其中的所有其他文件并且可以在metacpan上查看时,对dist(ribution)进行查看也很有效。