in reply to Question on parsing a text file.

A simple approach would be to do it on the fly, concatenating lines if possible, otherwise proceeding with working on them.

The approach I use most often is a tip i found from one of merlyn's posts - use a buffer:

use strict; use warnings; use autodie qw/open close/; ## buffer for holding current text; my $buffer = ''; open (my $fh, '/foo/bar.txt'); while(<$fh>) { ## clear trailing whitespace chomp; if (/\/$/) { ## use regex to see if line ends with a slash ## append to buffer $buffer .= $_; } else { ## it's a single line so just process process($buffer); ## sub elsewhere... ## reset $buffer = ''; } } close $fh;

NB: Not tested! Just example...

Update - This is merlyn's node - Re: Reading multiple lines?. Maybe not quite the same thing, but it inspired this response, or at least was the first place i came across this kind of control structure... He also remembered to check for the 'end of file'...

Just a something something...