Perl`uc`函数oneliner -p / -n的区别?

时间:2019-01-10 16:43:33

标签: perl

它按预期工作:

'myAppName.apps.MyAppNameConfig',

但是下面的不是(它只是以原始情况打印”:

perl -ne "print uc" /etc/passwd

我不明白这是怎么回事。

谢谢。

1 个答案:

答案 0 :(得分:2)

您正在做不同的事情。因此得到不同的结果也就不足为奇了。

在第一个示例中,您将值$_传递给uc并打印结果(这是原始文本的大写版本)。

在第二个示例中,您获取$_的值,并将其传递给uc并在$_中打印该值。但是您没有做任何更新$_的事情,因此您获得了不变的价值。解决方法(如您在注释中已经提到的)是使用$_返回的值更新uc

perl -pe '$_ = uc' /etc/passwd