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

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

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

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

What is the simplest way to get this comprehensive listing of names of packages in CPAN?

ObPedantry

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

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

例如,如果是单线

$perl -MFoo::Bar::Baz -c -e 1

失败并以错误开头

Can't locate Foo/Bar/Baz.pm in @INC ...

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

-e Syntax OK

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

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

此外,如果在检查列表之后这个问题询问我发现,一方面,CPAN中实际上有许多以前缀Foo :: Bar ::开头的着名包名,而另一方面,没有(或者可以忽略不计)以前缀Fubar ::开头,这对我来说是一个足够的理由让我将Fubar :: Frobozz包的名称改为Foo :: Bar :: Frobozz,然后再将其提交给CPAN.

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

解决方法

如果您之前运行过cpan,则已在< cpan-home> /sources/modules/02packages.details.txt.gz下载了一个综合的包和分发列表.

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

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...