CJ7*_*CJ7 1 perl reverse while-loop
open IN, "in.txt";
open OUT, ">out.txt";
print OUT unless m[^foo] while <IN>;
Run Code Online (Sandbox Code Playgroud)
为什么上面的代码没有编译?
问题是,允许您将if/ unless/ while作为后缀写入一行代码的符号只能在该行中使用一次.因此,您必须将代码中的最后一行替换为:
while (<IN>) {
print OUT unless m[^foo];
}
Run Code Online (Sandbox Code Playgroud)
这种情况的替代方案是使用or:
m[^foo] or print OUT while <IN>;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |