我从命令行使用它:
perl -MDateTime::Format::DateManip -le 'print $Some::Module::VERSION'
但只返回一个空行,有什么想法吗?
我从命令行使用它:
perl -MDateTime::Format::DateManip -le 'print $Some::Module::VERSION'
但只返回一个空行,有什么想法吗?
它是伪代码,Some
没有设置,所以它只是undef
用-l
标志打印出来,比如perl -le'print undef
;
为证据打开警告-w
$ perl -MDateTime::Format::DateManip -wle 'print $Some::Module::VERSION'
Use of uninitialized value $Some::Module::VERSION in print at -e line 1.
替换Some::Module
为您想要其版本的模块。
另外,只是为了好玩;)
use <module> <version>
这些是通过利用语法和 perl 对不够新版本的声音拒绝来快速获取版本号的方法。
这些都相当于创建一个 perl 脚本use DateTime 9999;
$ perl -MDateTime\ 9999
DateTime version 9999 required--this is only version 0.51.
BEGIN failed--compilation aborted.
但是,这种方式不是跨平台的,因为您只是在告诉 bash 转义一个空格。这在 windows 中不起作用cmd
,因为你必须
$ perl -M"DateTime 9999"
DateTime version 9999 required--this is only version 0.51.
BEGIN failed--compilation aborted.
在这里,您只需将其放在引号中 - 这告诉 cmd 将其作为参数发送给 perl,它会完成相同的工作。
如果您发现自己经常这样做,您可以从 CPAN下载并安装pmvers 。该脚本将使您免于输入可能很长的模块名称两次:
pmvers DateTime::Format::DateManip