如何根据给定模块列出所有CPAN模块?

Kif*_*fin 5 perl cpan

如何根据给定模块列出所有CPAN模块?例如,使用Class :: Workflow创建模块列表?

tse*_*see 8

关于依赖关系有两个有效的问题:

  • 给定模块需要哪些模块?

  • 相反的问题:哪些模块依赖于给定的模块?

对于前者,权威但非递归的答案通常是查看META.yml文件,它是大多数现代发行版的一部分.如果没有这样的文件,您可以尝试查看随附的Makefile.PL或Build.PL构建工具.如果你想知道所有的依赖关系,而不仅仅是直接关系,参见 ghostdog74的回答.具体来说,David Cantrell的'CPANDeps'非常非常方便.

显然,通过检查模块本身无法回答后一个问题.如果您不想grep一个解压缩的minicpan,最好的解决方案就像模块的CPANTS条目的" used by "部分.

  • 我最后一次检查时,CPANTS信息并不是那么好.它从lib /下的路径中假设了模块的名称,因此我的一些模块看起来很受欢迎.例如,参见Test :: URI. (2认同)

gho*_*g74 6

您可以使用CPAN :: Dependency等模块,或者在线尝试此类模块.