Perl:在env var中指定最低版本?

时间:2016-11-01 19:46:15

标签: perl

我正在寻找一种简短的方式来编写简单的一次性:

perl -e 'use 5.016;say 4.3%3'

perl -e 'print 4.3%3 ."\n"'

我希望我能设置的环境变量相当于use 5.016,所以我可以写一下:

perl -e 'say 4.3%3'

也许我忽略了文档中的某些内容?

1 个答案:

答案 0 :(得分:8)

perl -E 'say ...';

这与-e类似,但会启用所有功能(say是其中之一)。来自perldoc/perlrun

  
      
  • -e commandline

         

    可用于输入一行程序。如果给出-e,Perl会   不要在参数列表中查找文件名。 [...]

  •   
  • -E命令行

         

    表现得像-e,除了它隐式启用所有可选项   功能(在主编译单元中)。看到   feature

  •   

说实话:我的回答并没有完全回答你原来的问题。您询问了如何使用/要求最低Perl版本。为此,@ThisSuitIsBlackNot评论中给出的解决方案更适合:

perl -M5.016 -e 'say ...'

这将打开Perl 5.16附带的所有功能,同时如果您的Perl版本低于5.16则会抱怨。查看herehere以获取何时来到哪个表

-E解决方案会盲目地打开您当前Perl版本的所有功能。

您还要求提供环境变量。有indeed one

export PERL5OPT='-Mstrict -Mwarnings -M5.016'
  

将此变量中的开关视为每个Perl命令行上的开关。

在使用环境变量和共享代码时要小心:如果您忘记告诉同事(因为您在几个月前在.bashrc中设置了它),那么一些代码段可能对您有用,但对其他代码则无效。