对于输入abc
,代码
perl -ne 'print "XYZ$_"'
打印XYZabc
,但在切换$_
和XYZ
的顺序后,即
perl -ne 'print "$_XYZ"'
它什么都不打印。为什么呢?
答案 0 :(得分:6)
XYZ
可以是变量名称的一部分,因此$_XYZ
是变量名称,而不是$_
后跟文字XYZ
。
您可以拆分字符串:
perl -ne 'print $_ . "XYZ"'
答案 1 :(得分:4)
Perl标识符可能包含任何字母,数字或下划线,因此您要求perl打印变量$_XYZ
的值,该值不存在
您可以使用大括号{ ... }
包围变量的名称,以将其与任何周围的字符分开,如此
perl -ne 'print "${_}XYZ"'