我机器上安装的默认Perl版本是5.8.7。 当我在内部运行脚本时切换到另一个perl版本(v5.10.1)执行此操作:
my $perl_5_10 = "/opt/perl_5.10.1/bin";
$ENV{'PATH'} = $perl_5_10 ":" . $ENV{'PATH'};
现在,我必须检查perl版本,我这样做:
## PERL: need perl version >= 5.10!
if ($] < 5.010000)
{
## VERSION ERROR!
}
my $perl_cmd = "perl --version";
my $perl_str=`$perl_cmd`;
print "PERL VERSION = " . $perl_str; ## this clearly print 5.10.1
它返回错误,因为使用的版本是5.8.7,这是非常正常的,因为我用该版本运行我的脚本。但我的问题是:
如何检查新的perl版本是&gt; = 5.10.1?
答案 0 :(得分:4)
前三个小数是颠覆,后三个小数是修订。因此使用
if ($] >= 5.010001)
{
## We're all good. Greater than 5.10.1
}
我主要使用5.18.2,因此我的$]
等于5.018002
。
有关替代方法,请查看perlvar $PERL_VERSION or $^V
和use VERSION
答案 1 :(得分:0)
如何检查新的perl版本是&gt; = 5.10.1?
你在问题中给出了答案:
my $perl_cmd = "perl --version";
my $perl_str=`$perl_cmd`;
print "PERL VERSION = " . $perl_str; ## this clearly print 5.10.1
由于您的更改只能更改新启动的perl
个实例的版本,因此您必须运行新的perl
进行检查,如上所述。