重複の可能性:
Perl でループから抜け出すにはどうすればよいですか?
以下のようなデータがあります。選択したテキストをキャプチャする perl スクリプトを作成しようとしています。それについての私の考えは、「前の行の読み取りがすべて-であり、現在の行の読み取りがすべて=である場合、ファイルの読み取りを停止し、=と-のみでそれらの行を印刷しないでください。 .
ただし、それをコーディングする方法がわかりません。私は3日前にperlを使い始めました。それが最善の方法かどうかはわかりません。より良い方法があれば教えてください。いずれにせよ、コードを手伝っていただければ幸いです。
これまでの私のコード:
...
$end_section_flag = "true" # I was going to use this to signify
# when I want to stop reading
# ie. when I reached the end of the
# data I want to capture
while (<$in-fh>)
{
my $line = $_;
chomp $line;
if ($line eq $string)
{
print "Found it\n";
$end_section_flag = "false";
}
if ($end_section_flag eq "false" )
{
print $out-fh "$line\n";
// if you found the end of the section i'm reading
// don't pring the -'s and ='s and exit
}
}
私のデータがどのように見えるか
-------------------------------------------------------------------------------
===============================================================================
BLAH BLAH
===============================================================================
asdfsad
fasd
fas
df
asdf
a
\n
\n
-------------------------------------------------------------------------------
===============================================================================
BLAH BLAH
===============================================================================
...
撮りたいもの
-------------------------------------------------------------------------------
===============================================================================
BLAH BLAH
===============================================================================
asdfsad
fasd
fas
df
asdf
a
\n
\n