对于输入abc
,代码
perl -ne 'print "XYZ$_"'
XYZabc
打印,但切换的$_
和XYZ
的顺序后,即
perl -ne 'print "$_XYZ"'
它打印什么。为什么?
对于输入abc
,代码
perl -ne 'print "XYZ$_"'
XYZabc
打印,但切换的$_
和XYZ
的顺序后,即
perl -ne 'print "$_XYZ"'
它打印什么。为什么?
XYZ
可以是变量名的一部分,所以$_XYZ
是变量名,而不是$_
后跟一个字面XYZ
。
可以分割字符串起来:
perl -ne 'print $_ . "XYZ"'
或'$ {_} XYZ',它可能或可能不清晰 –
或'print $ _,“XYZ”'或'printf“%sXYZ”,$ _'等 – choroba
我想实现的是在文本文件的每一行添加一些字符。 代码'perl -ne'打印“XYZ $ _”'$ newfilename.txt> $ newfilename-XYZ.txt''完全可以在开始时添加,但上面添加的解决方案不起作用 –
Perl的标识符可以包含任何字母,数字或下划线,所以你问perl输出变量$_XYZ
的价值,不存在
您可以围绕用大括号{ ... }
它从周围的任何字符分隔变量的名称,像这样
perl -ne 'print "${_}XYZ"'
'使用STRIC t;'会给你一个有用的错误信息,而不仅仅是“什么也不给” – Dre
大概你没有一个名为'$ _XYZ'的变量:-) –