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

时间:2012-04-16 20:56:55

标签: perl cpan

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

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

由于我不是Perl程序员(我只是在准备大学讲座),所以我不熟悉Perl的措辞。我试图查找它们,只发现Perl本身定义的“模块”。据我所知,模块是任何带有命名空间的文件。

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

1 个答案:

答案 0 :(得分:16)

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

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

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