如何检查perl版本

时间:2014-05-08 20:12:44

标签: perl version

我机器上安装的默认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?

2 个答案:

答案 0 :(得分:4)

前三个小数是颠覆,后三个小数是修订。因此使用

if ($] >= 5.010001)
{
    ## We're all good.  Greater than 5.10.1
}

我主要使用5.18.2,因此我的$]等于5.018002

有关替代方法,请查看perlvar $PERL_VERSION or $^Vuse 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进行检查,如上所述。