perl - 为什么 perl one liner 输出取决于开关位置

标签 perl

你能解释一下为什么 perl 切换 -en不起作用,但 -ne工作正常?

$ echo 123|perl -en 'print"$_"'
$ echo 123|perl -ne 'print "$_"'
123
$ 

您能否提供描述此类行为的文档的链接?

最佳答案

-e必须遵循 perl 代码,但它仅遵循 n这不是真正的一个类轮,所以 -en不能像你期望的那样工作。

如果您使用 -w 启用警告它会给你一个提示:

echo 123|perl -wen 'print"$_"'
Unquoted string "n" may clash with future reserved word at -e line 1.
Useless use of a constant in void context at -e line 1.

关于perl - 为什么 perl one liner 输出取决于开关位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19316797/

相关文章:

regex - Unix/Linux/FreeBSD 使用 Perl Regex 查找命令

javascript - 在悬停时覆盖内联样式然后返回

arrays - 如何在 Perl 中将多个数组传递给 'foreach' 循环?

mysql - 如何从数据库中选择得票最多的用户?

Perl foreach 循环变量作用域

arrays - Perl 脚本 - : Useless use of array element in void context at letter_counter. pl lin 38 和 44

mysql - Perl 模块 : MySQL vs DBI

perl - 如何使用您编写的 perl 模块?

perl - IE9 丢失对本地 Catalyst 服务器的请求

perl - Perl中文件的行号