perl开关“-E”和“-e”如何相互不同?在这个例子中,它们完全相同 - 在切换后执行命令:
$ perl -e 'print "$_\n" foreach 1..2'
1
2
$ perl -E 'print "$_\n" foreach 1..2'
1
2
答案 0 :(得分:8)
perldoc perlrun
中解释了这一点:
-E命令行
表现就像 -e ,除了它隐式启用所有可选功能(在主编译单元中)。见功能。
“查看功能”。是指feature
编译指示的文档,您可以通过键入perldoc feature
来阅读该文档。
答案 1 :(得分:4)
-E
不同的 -e
可启用features
您可以查看这些使用Deparse
模块的内容(以下是perl 5.16),
perl -MO=Deparse -E 1
use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval';
答案 2 :(得分:2)
来自Perldoc:http://perldoc.perl.org/perlrun.html
•-e commandline:
可用于输入一行程序。如果给出-e,Perl将不会在参数列表中查找文件名。可以给出多个-e命令以构建多行脚本。确保在正常程序中使用分号。
•-E命令行:
表现得像-e,除了它隐式启用所有可选功能(在主编译单元中)。请参阅feature。