首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何找到已安装的Perl模块的版本?

如何找到已安装的Perl模块的版本?
EN

Stack Overflow用户
提问于 2008-09-25 20:16:25
回答 8查看 63.8K关注 0票数 62

如何查找已安装的Perl模块的版本?

这是在下面的答案中,但我认为它足够重要,住在这里。根据这些建议,我在.bashrc中创建了一个函数

代码语言:javascript
复制
function perlmodver {
    perl -M$1 -e 'print "Version " . $ARGV[0]->VERSION . " of " . $ARGV[0] . \
    " is installed.\n"' $1
}
EN

回答 8

Stack Overflow用户

发布于 2008-09-25 20:17:24

大多数模块(尤其是来自CPAN的模块)都有一个$VERSION变量:

代码语言:javascript
复制
perl -MSome::Module -le 'print $Some::Module::VERSION'
票数 68
EN

Stack Overflow用户

发布于 2008-09-25 21:21:18

VERSION是所有Perl类的UNIVERSAL方法。您可以使用它来获取模块版本(如果已经设置,通常是这样设置的)。

下面是一个单行代码,您只需添加一次模块名称:

代码语言:javascript
复制
perl -le 'eval "require $ARGV[0]" and print $ARGV[0]->VERSION' Some::Module
票数 37
EN

Stack Overflow用户

发布于 2008-09-25 20:48:40

有一个少键入的技巧,只要你的模块没有像Unix时间戳这样疯狂的东西作为版本号,它就有效。

代码语言:javascript
复制
perl -MFoo::Bar\ 9999

这之所以有效,是因为它转换为

代码语言:javascript
复制
use Foo::Bar 9999;

例如,Foo::Bar的版本至少为9999或更高版本。你得到的是

代码语言:javascript
复制
Foo::Bar version 9999 required--this is only version 1.1.
BEGIN failed--compilation aborted.

(我从Matt Trout那里学到的小把戏)

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/135755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档