有没有一种简单的方法来模仿脚本中-l命令行开关的效果perl?(当然,我总是可以chomp每行,然后在我打印的每一行上附加"\n",但重点是避免必须这样做.)
不可以.您可以"\n"通过使用自动附加$\,但您必须自己添加chomp.
这是如何-l工作的.
$ perl -MO=Deparse -ne 'print $_'
LINE: while (defined($_ = <ARGV>)) {
print $_;
}
$ perl -MO=Deparse -lne 'print $_'
BEGIN { $/ = "\n"; $\ = "\n"; } # -l added this line
LINE: while (defined($_ = <ARGV>)) {
chomp $_; # -l added this line
print $_;
}
Run Code Online (Sandbox Code Playgroud)
(评论是我的.)请注意,在生成的循环开始时-l添加了一个文字(并且只有在使用或时才会这样做).没有变量可以设置为模仿该行为.chomp $_-n-n-p
这是一个鲜为人知的事实是-l,-n和-p通过围绕你之前提供的代码样本文本作品的汇编.