2013-03-07 170 views
4

我想知道是否有CPAN功能允许用户搜索CPAN.org上提供的所有模块。从命令行搜索cpan.org

我可能只是写了一些东西,发送获取请求,并回吐答案......只是想知道是否已经有内置的实用程序......这将是非常好的。

我喜欢在debian或ubuntu linux上如何使用apt-cache search或aptitude search来显示哪些软件包已安装以及哪些软件包可用于您的系统。如果perl modules/CPAN有这样的东西,那将是一件非常棒的事情。

回答

9

可以交互方式运行Perl的CPAN模块:

# perl -MCPAN -e shell 
Terminal does not support AddHistory. 

cpan shell -- CPAN exploration and modules installation (v1.9800) 
Enter 'h' for help. 

cpan[1]> i /JSON::XS/ 
Reading '/home/alt/.cpan/Metadata' 
    Database was generated on Wed, 06 Mar 2013 23:07:32 GMT 
Module < Catalyst::Action::Deserialize::JSON::XS (BOBTFISH/Catalyst-Action-REST-1.06.tar.gz) 
Module < Catalyst::Action::Serialize::JSON::XS (BOBTFISH/Catalyst-Action-REST-1.06.tar.gz) 
Module < JSON::XS    (MLEHMANN/JSON-XS-2.33.tar.gz) 
Module < JSON::XS::Boolean  (MLEHMANN/JSON-XS-2.33.tar.gz) 
Module < JSON::XS::VersionOneAndTwo (LBROCARD/JSON-XS-VersionOneAndTwo-0.31.tar.gz) 
Module < Mojo::JSON::XS   (YSYROTA/Mojo-JSON-Any-0.990104.tar.gz) 
Module < Mojo::JSON::XS::_Bool (VTI/Mojo-JSON-Any-0.990103.tar.gz) 
Module < Sledge::Plugin::JSON::XS (TOKUHIROM/Sledge-Plugin-JSON-XS-0.05.tar.gz) 
8 items found 
+0

不错的答案......努力给予好评,并接受这个...... 我假设“//”意味着我可以使用正则表达式... – pepper 2013-03-07 21:44:49

+0

@pepper是正则表达式工作 – PSIAlt 2013-03-08 06:01:11

0

是的,有。你有什么尝试?

Here's the CPAN manual描述了您可以从命令行执行的所有操作。

具体而言,在交互模式下运行cpan后,m Module::Name将搜索模块。

+0

我尝试这样做。 ..我错过的细节是搜索的格式... 您可以在搜索时使用CPAN命令行中的/ regular-expression /,即 m /module.name/ – pepper 2013-03-07 21:59:39

+0

是的!这可能非常有用。 – uptownnickbrown 2013-03-07 22:17:15

2

还有可能在你的路径中的cpan脚本。因此,而不是键入

perl -MCPAN -eshell 

你可以只输入

cpan 

这滴你进入CPAN壳。

然后,从CPAN>提示,您键入i /ModuleName/来搜索模块。 真正好的是让cpan脚本处理i /ModuleName/,但现在只有-L可用,其中列出了特定模块作者的模块。