我正在寻找一种简短的方式来编写简单的一次性:
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'
也许我忽略了文档中的某些内容?
答案 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则会抱怨。查看here和here以获取何时来到哪个表。
-E
解决方案会盲目地打开您当前Perl版本的所有功能。
您还要求提供环境变量。有indeed one:
export PERL5OPT='-Mstrict -Mwarnings -M5.016'
将此变量中的开关视为每个Perl命令行上的开关。
在使用环境变量和共享代码时要小心:如果您忘记告诉同事(因为您在几个月前在.bashrc中设置了它),那么一些代码段可能对您有用,但对其他代码则无效。