我实际上想要做的是,从文本文件中提取行范围并在另一个文件中打印范围。字符串的起始范围存储在@secarr 中,相应的字符串结束范围存储在@exarr 中。我现在面临的问题是在 EOF 附近发现了 $secarr[4] 和 $exarr[4] 范围,因此输出文件一直到那里结束。但是在 $secarr[4] 和 $exarr[4] 范围之前存在 $secarr[5] 和 $exarr[5] 以及许多其他范围。
请给我一个出路。
在此先感谢, 法埃兹
我实际上想要做的是,从文本文件中提取行范围并在另一个文件中打印范围。字符串的起始范围存储在@secarr 中,相应的字符串结束范围存储在@exarr 中。我现在面临的问题是在 EOF 附近发现了 $secarr[4] 和 $exarr[4] 范围,因此输出文件一直到那里结束。但是在 $secarr[4] 和 $exarr[4] 范围之前存在 $secarr[5] 和 $exarr[5] 以及许多其他范围。
请给我一个出路。
在此先感谢, 法埃兹
简单的方法是为每个范围重新打开文件。你也可以试试:
my @array = <$IN>;
)。对于每个范围,您只需打印数组切片。您可能想看看Tie::File,它为您提供了一个简单的文件记录界面。