Perl:如何获得'使用VERSION'号码

sid*_*com 5 perl version

是否有一个特殊的变量或函数,它在运行脚本时给出了use VERSION(在这种情况下5.12.0)的数量?

#!/usr/bin/env perl 
use warnings;
use 5.12.0;
Run Code Online (Sandbox Code Playgroud)

bvr*_*bvr 5

我只是快速检查feature.pm代码 - 版本本身没有存储在任何地方.Alex的答案已经展示了如何测试呼叫产生的特定功能.

还要注意,use VERSION可以在几个地方调用(例如在模块中).

一个假设的选择是覆盖use并记录某个地方的版本号以供检查.

编辑:有些在钩子方向戳:

use version; # for version parsing
use subs 'require';
BEGIN {
    sub require {
        warn "use ",version->parse($_[0]);
        # ... emulate original require
    };
}

use 5.12.0;
Run Code Online (Sandbox Code Playgroud)

这个有限的示例报告了指定的版本,但是对于实际使用,它必须更加健壮.