如何查找已安装的Perl模块的版本?
这是在下面的答案中,但我认为它足够重要,住在这里。根据这些建议,我在.bashrc
中创建了一个函数
function perlmodver {
perl -M$1 -e 'print "Version " . $ARGV[0]->VERSION . " of " . $ARGV[0] . \
" is installed.\n"' $1
}
发布于 2008-09-25 20:17:24
大多数模块(尤其是来自CPAN的模块)都有一个$VERSION变量:
perl -MSome::Module -le 'print $Some::Module::VERSION'
发布于 2008-09-25 21:21:18
VERSION是所有Perl类的UNIVERSAL方法。您可以使用它来获取模块版本(如果已经设置,通常是这样设置的)。
下面是一个单行代码,您只需添加一次模块名称:
perl -le 'eval "require $ARGV[0]" and print $ARGV[0]->VERSION' Some::Module
发布于 2008-09-25 20:48:40
有一个少键入的技巧,只要你的模块没有像Unix时间戳这样疯狂的东西作为版本号,它就有效。
perl -MFoo::Bar\ 9999
这之所以有效,是因为它转换为
use Foo::Bar 9999;
例如,Foo::Bar的版本至少为9999或更高版本。你得到的是
Foo::Bar version 9999 required--this is only version 1.1.
BEGIN failed--compilation aborted.
(我从Matt Trout那里学到的小把戏)
https://stackoverflow.com/questions/135755
复制相似问题