$ perl -pe 1 foo && echo ok
Can't open foo: No such file or directory.
ok
Run Code Online (Sandbox Code Playgroud)
当文件不存在时,我真的希望 perl 脚本失败。当输入文件不存在时,使 -p 或 -n 失败的“正确”方法是什么?
该-p开关只是为了在这个循环中包装你的代码(参数如下-e)的快捷方式:
LINE:
while (<>) {
... # your program goes here
} continue {
print or die "-p destination: $!\n";
}
Run Code Online (Sandbox Code Playgroud)
(-n 是相同的,但没有 continue 块。)
该<>空的操作等同于readline *ARGV,而且在继承开始后的每个参数作为一个文件进行读操作。没有办法影响该隐式打开的错误处理,但您可以使其发出致命警告(注意,这也会影响与 -i 开关相关的几个警告):
perl -Mwarnings=FATAL,inplace -pe 1 foo && echo ok
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
161 次 |
| 最近记录: |