可能重复:
如何在 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