如何知道正在使用哪个perl解释器来执行当前的perl程序

时间:2016-07-18 06:18:56

标签: perl

假设我有一个名为foo的脚本,如下所示:

#!/bin/perl
eval 'exec perl5 -S $0 ${1+"$@"}'
   if 0;

根据我的理解,如果我运行perl foofoo,系统perl将用于执行我的脚本(即shebang行中指定的/usr/bin/perl)。但是,如果我运行我的脚本./foo,则perl5语句中使用的perl解释为eval

我想验证我的理论,我需要找到一种方法来找出调用哪个perl解释器来执行我的脚本。

有没有这样做?

非常感谢!

EDIT1:我认为我修好了这个代码块,并在其上写了blog post。如果你仍然对上面的代码块感到困惑,请检查一下。

1 个答案:

答案 0 :(得分:-1)

是的,您可以使用perl special veriable找到当前执行脚本的perl解释器版本。 $^V