in reply to syntax for while substr

This sound like a job for $/ the INPUT RECORD SEPARATOR. By default this is "\n" so we read one line at a time. If we set it to "\n\n" then we read in chunks of data until we find two newlines (ie one blank line). Thus:

{ local $/ = "\n\n"; while( my $record = <DATA> ) { print "This is a record:\n", $record; # do stuff with record } } __DATA__ This is a record This is a multiline record This is just another address book record

Remeber $/ is a global var so localise its effect of you may get some nasty suproses elsewhere in you code.

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print