如何使用perl重复搜索同一个文件的次数?

时间:2012-08-02 14:18:11

标签: perl

我实际上要做的是,从文本文件中提取行范围并在另一个文件中打印范围。字符串的起始范围存储在@secarr中,相应的字符串结束范围存储在@exarr中。 我现在面临的问题是在EOF附近找到$ secarr [4]和$ exarr [4]范围,因此输出文件结束直到那里。但$ secarr [5]和$ exarr [5]以及许多其他范围在$ secarr [4]和$ exarr [4]范围之前出现。

请建议我出路。

提前致谢, Faez

2 个答案:

答案 0 :(得分:3)

简单的方法是重新打开每个范围的文件。您也可以尝试:

  • 如果文件不是很大,您可以将其读取到数组(my @array = <$IN>;)。对于每个范围,只需打印数组切片。
  • 您可以只检查一次文件,检查您是否在每行进入/离开任何范围。记住当前有效范围并将每一行输出到所有范围(您的范围可以重叠吗?)

答案 1 :(得分:0)

您可能需要查看Tie::File,它会为您提供一个简单的文件记录界面。

相关问题