2017-02-24 79 views
5

假設,作爲一個私人項目,我已經實現了一個Perl包,並對它進行了測試,無論是正式的還是廣泛的日常使用。我發現這個軟件包有用而且足夠可靠,可以保證將它提交給CPAN。獲取CPAN中包裝名稱的完整列表的最簡單方法?

到目前爲止,由於該軟件包是一個私人項目,我並不太擔心軟件包的名稱,但現在我想提交給CPAN,但是我希望軟件包的名稱能夠很好地符合在CPAN中已經包裝名稱的生態中。

爲了找到一個合適的「CPAN名」我的包,我會檢查所有這些軟件包名稱全面上市。

什麼是最簡單的方法得到這個全面列出在CPAN包名稱?


ObPedantry

(IOW,如果上面的問題已經很清楚夠你,你可以放心地忽略下文。)

我不認爲我可以給出一個技術上正確的正式定義,我的意思是「包名」在這裏,所以讓我至少給出一個「操作性定義」。

如果,例如,oneliner

$ 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::開頭,那麼這將是一個足夠好的理由在將其提交給CPAN之前,請將我的Fubar::Frobozz包的名稱更改爲Foo::Bar::Frobozz


當然,檢查這樣的名單後,我可能會發現我的包不充分的新的相對功能,什麼是在CPAN已可保證提交我的包CPAN畢竟增加。

+4

見[上傳模塊的索引(http://www.cpan.org/modules/01modules.index.html),[Perl5的註冊模塊列表](http://www.cpan.org/modules/00modlist .long.html)和[關於模塊命名](https://pause.perl.org/pause/query?ACTION=pause_namingmodules)。 –

回答

4

PAUSE::Packages可以做你想做的,但你可能想使用this list,但http://prepan.org/可以在提交之前,CPAN提供諮詢/審查,當然讀書on the naming of modules第一。

+0

'PAUSE :: Packages'是巨大的!它不像'Moose'那樣糟糕,但是你可以用*安裝'PAUSE :: Packages' *來填滿你的時間表。另請注意,作者**尼爾鮑爾斯**說*「注意:這是非常多的alpha版本」*早在2015年10月。 – Borodin

+0

在這裏安裝不到一分鐘。另外,爲什麼不啓動模塊安裝,並在完成後檢查它們,而不是「填滿你的時間表」來觀察事情的發生? –

+0

它自2015年以來沒有更新過,它已經在alpha版本中一段時間​​了。它被放棄了嗎?誰知道。我提供了他們需要的便於訪問的數據的鏈接。 –

4

你確定這是你想要的嗎?在撰寫本文時,CPAN上有33,623 分佈。在cpan您可以輸入

cpan> d /./ 

d分佈其次是如果你在真正感興趣的你感興趣的

名稱相匹配的正則表達式模式 - 和分發可能包含多個軟件包名稱 - 您需要

cpan> m/./ 

其中m是對於模塊。其中有163,136個,這意味着每個分發平均有四個或五個軟件包,並且需要幾分鐘的時間才能生成該列表cpan。 (對不起,我沒有監測的確切時間。)

相關問題