in reply to How do I create an array of hashes from an input text file?
Prints:use feature qw(say); use Data::Dumper; my $data =<<'XML-type'; <item><key1>someValue</key1><key2>someValue</key2><key3>someValue</key +3> <key4>someValue</key4></item><item><key1>someValue</key1><key2>someVal +ue </key2><key3>someValue</key3><key4>someValue</key4></item><item> <key1>someValue</key1><key2>someValue</key2><key3>someValue</key3><key +4>someValue</key4></item> XML-type my @processed; local $/ = '</item>'; open STRH , '<', \($data); my @items = <STRH>; close STRH; @processed = map { my $item =$_; $item =~ s/<.?item>//g; push @processed, {$item =~ m { <([^>]+)>([^<]+)< }gx}; } @items; print Dumper \@processed;
For bonus points work out why there is an empty hash at the end.(I haven't got time just now!)$VAR1 = [ { 'key2' => 'someValue', 'key4' => 'someValue', 'key1' => 'someValue', 'key3' => 'someValue' }, { 'key2' => 'someValue ', 'key4' => 'someValue', 'key1' => 'someValue', 'key3' => 'someValue' }, { 'key2' => 'someValue', 'key4' => 'someValue', 'key1' => 'someValue', 'key3' => 'someValue' }, {} ];
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: How do I create an array of hashes from an input text file?
by MrSnrub (Beadle) on Nov 11, 2011 at 19:14 UTC | |
by Kc12349 (Monk) on Nov 11, 2011 at 23:48 UTC | |
by MrSnrub (Beadle) on Nov 12, 2011 at 00:44 UTC | |
by Kc12349 (Monk) on Nov 16, 2011 at 17:46 UTC |