in reply to Trying to name a file parsing module for CPAN
use strict; use Data::Dumper; my @blocks = do { local $/='ID:'; <DATA> }; shift @blocks; my %config; foreach my $line (@blocks) { my ($id) = $line =~ /^(\w+)/; my %keys = $line =~ /^(\w+):(\w+)/gms; $config{$id} = \%keys; } print Dumper(\%config); __DATA__ HEADER1:value HEADER2:value ID:id1 KEY1:A KEY2:B KEY3:C ID:id2 KEY3:E KEY2:F ID:id3 KEY5:G __OUTPUT__ $VAR1 = { 'id1' => { 'KEY3' => 'C', 'KEY1' => 'A', 'KEY2' => 'B' }, 'id2' => { 'KEY3' => 'E', 'KEY2' => 'F' }, 'id3' => { 'KEY5' => 'G' } };
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Trying to name a file parsing module for CPAN
by fx (Pilgrim) on Jan 09, 2004 at 10:17 UTC |