in reply to Re^2: parse file per customized separator / block / metadata
in thread parse file per customized separator / block / metadata
use File::Stream; my $lookahead_regex = qr/\w+[=:]/; my ($handler, $stream) = File::Stream->new( *DATA, separator => qr/\n=*\n$lookahead_regex/, ); my $lookahead = ""; while (my $block = <$stream>) { $block =~ s/($lookahead_regex)$//; $block = $lookahead . $block; $lookahead = $1; print $block; print "-" x 60, "\n"; } __END__ header1=val1 header1b=val1b data1 ================== header2: val2 header2b: val2b data2 =============== header3: val3 header3b: val3b data3 header4= val4 header4b= val4b data4
header1=val1 header1b=val1b data1 ================== ------------------------------------------------------------ header2: val2 header2b: val2b data2 =============== ------------------------------------------------------------ header3: val3 header3b: val3b data3 ------------------------------------------------------------ header4= val4 header4b= val4b data4 ------------------------------------------------------------
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: parse file per customized separator / block / metadata
by raiten (Acolyte) on Mar 28, 2010 at 14:27 UTC | |
|
Re^4: parse file per customized separator / block / metadata
by raiten (Acolyte) on Mar 25, 2010 at 22:02 UTC | |
by repellent (Priest) on Mar 26, 2010 at 05:34 UTC |