Perl 读取打开文件句柄内的小节
Perl read subsection inside open file handle
我使用以下方法打开了一个文件:
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 中正确编程?
我可以想出几种方法来回答这个问题,但我会选择 flip-flop operator 答案:
while (<FH>) {
if (/^StartSection$/ .. /^EndSection/) {
... special code ...
} else {
... regular code ...
}
}
我使用以下方法打开了一个文件:
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 中正确编程?
我可以想出几种方法来回答这个问题,但我会选择 flip-flop operator 答案:
while (<FH>) {
if (/^StartSection$/ .. /^EndSection/) {
... special code ...
} else {
... regular code ...
}
}