2

ファイル内の行をループしていますが、特定の行と一致した場合、現在の (一致した) 行の後の行を処理したいと考えています。できます :-

open my $fh, '<', "abc" or die "Cannot open!!"; 
while (my $line = <$fh>){
   next if($line !~ m/Important Lines below this Line/);
   last;
}
while (my $line = <$fh>){
   print $line;
}

これを行うためのより良い方法はありますか (コードはより大きな perl スクリプトの一部である必要があります)?

4

1 に答える 1

7

フリップフロップ演算子を使用します:

while(<DATA>) {
    next if 1 .. /Important/;
    print $_;
}
__DATA__
skip
skip
Important Lines below this Line
keep
keep

出力:

keep
keep
于 2013-08-20T07:17:10.797 に答える