http://www.perlmonks.org?node_id=227797


in reply to Read forward and backward - need help

Depending on how rigid the format is, maybe something like this :

use strict; $/ = "\n\n"; while (my $record = <>) { chomp($record); # $record contains all needed lines # from START OF RECORD to END OF RECORD }

If you are planning to have 1000's of line between begining and end, and are really worried about memory usage, you may want to save each start when you encounter it, then if you find the data you want, seek() back. From what i can gather this is similar to what you do now, only without the full scan of the file

Above code is untested and was typed into this page with no warranty or promise with the hope it will help. Misuse may result in premature baldness. Your milage may vary.

Update : Fixed syntax error
from the frivolous to the serious