获取CPAN中可用包名称的最全面列表的最简单方法是什么?

kjo*_*kjo 5 perl cpan

假设,作为一个私人项目,我已经实现了一个Perl软件包,并对其进行了正式和日常使用的测试.我发现该软件包非常有用且足够坚固,可以将其提交给CPAN.

到目前为止,由于软件包已经是一个私有项目,我并没有过多担心软件包的名称,但是现在我想提交给CPAN,但是,我希望软件包的名称能够很好地适应生态包名称已在CPAN中.

为了为我的包找到合适的"CPAN名称",我将不得不检查所有这些包名的全面列表1.

在CPAN中获取这些包名称的最简单方法是什么?


ObPedantry

(如果上面的问题对你来说已经足够清楚了,你可以放心地忽略下面的内容.)

我不认为我可以通过"包名称"在技术上正确定义我的意思,所以让我至少给出一个"操作定义".

例如,如果是单线

$ perl -MFoo::Bar::Baz -c -e 1
Run Code Online (Sandbox Code Playgroud)

失败并以错误开头

Can't locate Foo/Bar/Baz.pm in @INC ...
Run Code Online (Sandbox Code Playgroud)

...,但在从CPAN安装一些发行版之后,相同的oneliner成功了

-e syntax OK
Run Code Online (Sandbox Code Playgroud)

...然后我会说" Foo::Bar::Baz是CPAN中的包名".

(我们可以分开包装/模块的区别,并考虑区分重要的情况,但请不要.)

此外,如果在检查列表之后这个问题询问我发现,一方面,CPAN中实际上有许多以前缀开头的着名包名Foo::Bar::,而另一方面,没有(或可忽略的少)从前缀开始Fubar::,这将是我在将其提交给CPAN之前更改我的Fubar::Frobozz包名称的充分理由Foo::Bar::Frobozz.


1当然,在检查这样的列表之后,我可能会发现我的软件包没有添加足够的新功能,相对于CPAN中已有的功能,以保证我的软件包最终提交给CPAN.

mob*_*mob 4

如果您之前运行过cpan,您已经在 下下载了完整的软件包和分发列表<cpan-home>/sources/modules/02packages.details.txt.gz

任何 CPAN 镜像上都提供新的副本,例如 http://www.cpan.org/modules/02packages.details.txt.gz