http://qs321.pair.com?node_id=292380


in reply to Parsing data into an Array of Hashes

No one's suggested it yet, so I thought I'd try something. I was able to do this without splitting the data. I just looped it through a regex. If your data is all on one line, then you don't even need the outer while loop. Hope this helps.
#!/usr/local/bin/perl -w use strict; use Data::Dumper; my %records; while ( <DATA> ) { chomp; while ( m| (\w+)\s* = \s*([^,]+)\s* |gx ) { $records{$1} = $2; # add to hash } } print Dumper( \%records ); __DATA__ F1=D1, F2 = D2, F3= D3, F4 =D4, F5 = D5
Ouput:
$VAR1 = { 'F2' => 'D2', 'F3' => 'D3', 'F4' => 'D4', 'F5' => 'D5', 'F1' => 'D1' };