【发布时间】:2021-10-22 15:52:42
【问题描述】:
我编写了一个脚本,在匹配后打印当前行和后续行,但是,我注意到readline 返回值的两种使用方式之间存在差异。
这按预期工作:
$ echo $'H1\na\nb\nH2\na\nb' | perl -ne 'if (/^H/) { print; print $line = readline }'
H1
a
H2
a
但是,这不是:
$ echo $'H1\na\nb\nH2\na\nb' | perl -ne 'if (/^H/) { print; print readline }'
H1
a
b
H2
a
b
相反,它会打印所有行。为什么?
【问题讨论】:
标签: perl text text-processing