我使用以下方法打开文件:
open (FH, "<".$File::Find::name) or die "cannot open file \"".$File::Find::name." \"!";
while (<FH>) {
...my code...
}
我使用正则表达式解析行以获取我想要的数据。 现在我想读一个文件的一个子部分,直到我在while循环中看到该子部分的结尾。 即:逐行读取“StartSection”直到“EndSection”:
open (FH, "<".$File::Find::name) or die "cannot open file
\"".$File::Find::name." \"!";
while (<FH>) {
...my code...
if (/^StartSection$/) {
while (<FH> !~ /^EndSection) {
... more code....
}
}
}
我如何在Perl中正确编程?
答案 0 :(得分:2)
我可以想出几个方法来回答这个问题,但我会回答flip-flop operator的答案:
while (<FH>) {
if (/^StartSection$/ .. /^EndSection/) {
... special code ...
} else {
... regular code ...
}
}