CPAN上的模块和分发有什么区别?

Flo*_*ilz 7 perl cpan

我只是在比较数字,如果不同的"存档网络",如CPAN,CTAN,rubygems.org等.CPAN显示两个非常不同的数字:

  • 105,774个模块
  • 24,657次分发

因为我不是Perl程序员(我只是准备大学的谈话),所以我不熟悉Perl的措辞.我试图查找它们,只发现Perl本身定义的"模块".据我所知,模块是任何带有命名空间的文件.

但是,我找不到任何分发的声明.甚至CPAN只显示模块列表,或者它们同时使用两个单词(作为"模块分发").谁能清楚我的想法?

Ric*_*ões 16

分发包含一个或多个模块,文档,构建脚本,通常还包括测试套件,文件清单,自述文件,更改日志和许可证信息.捆绑在一起的模块通常是完整类库的一部分,或者至少所有相关工具都分为直观命名的包.

以核心IO分发为例,您可以看到它包含以下模块:

  • IO - 加载各种IO模块
  • IO :: Dir - 为目录句柄提供对象方法
  • IO :: File - 提供文件句柄的对象方法
  • IO :: Handle - I/O句柄的供应对象方法
  • IO :: Pipe - 管道的供应对象方法
  • IO :: Poll - 系统轮询调用的对象接口
  • IO :: Seekable - 基于供应搜索的I/O对象方法
  • IO :: Select - 选择系统调用的OO接口
  • IO :: Socket - 套接字通信的对象接口
  • IO :: Socket :: INET - AF_INET域套接字的对象接口
  • IO :: Socket :: UNIX - AF_UNIX域套接字的对象接口

  • 您可以从CPAN下载并构建分发版,该分发版将安装一个或多个模块. (2认同)