perl中大写的"-E"开关和小写的"-e"有什么区别?

bes*_*bov 0 perl command-line

perl开关"-E"和"-e"如何相互不同?在这个例子中,它们的工作方式完全相同 - 在切换后执行命令:

$ perl -e 'print "$_\n" foreach 1..2'
1
2
$ perl -E 'print "$_\n" foreach 1..2'
1
2
Run Code Online (Sandbox Code Playgroud)

Kei*_*son 9

这解释perldoc perlrun如下:

-E命令行的
行为与-e类似,只是它隐式启用所有可选功能(在主编译单元中).看功能.

"看功能".指的是featurepragma 的文档,您可以通过键入来阅读perldoc feature.


Сух*_*й27 6

-E不同于-e启用功能

您可以检查这些正在使用的Deparse模块(以下适用于 perl 5.16),

perl -MO=Deparse -E 1
use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval';
Run Code Online (Sandbox Code Playgroud)

  • `-E` 在第二个 (2认同)