in reply to Best way to read and process a text file with multiline records
I usually use state and check for the end of line continuation character - something like this (pseudocode):
my $line=''; while (<INPUT>) { # build line chomp; if (/^(.*)\\$/) { $line .= $1; #or maybe $line .= "$1 "; ??? next; } $line .= $_; # ... do line processing here ... if ($line =~ /^Data_Value/) { ... } elsif ($line =~ /^Data_Group/) { ... } elsif ($line =~ /^Data_Raw/) { ... } # reset state $line = ''; }
The advantage of this approach is that it keeps the mechanics of reading in the data separate from the logic of processing the data. In the processing section you can get as fancy as you need without worrying about how it relates to the file's method of handling continuation lines.
Best, beth
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Best way to read and process a text file with multiline records
by bichonfrise74 (Vicar) on May 21, 2009 at 22:12 UTC |