spie287 has asked for the wisdom of the Perl Monks concerning the following question:
I have array of hash like this
And I want to group them with only certain columns in a hash of hash like this[ { 'Street'=>'NuN', 'ID'=>'232', 'State'=>'KKDI' 'Forename' =>'alex', 'Surname'=>'davis', }, { 'Street'=>'NuN', 'ID'=>'25452', 'State'=>'TRY', 'Forename'=>'George', 'Surname'=>'Daniel' }, { 'Street'=>'NuN', 'ID'=>'74545', 'State'=>'MDU', 'Forename'=>'Mark', 'Surname'=>'Davies' } ]
but What I have got with my script is All the columns under each of user, Residence.[ { 'User'=>{ 'Forname' =>'' 'Surname'=>'' } 'Residence'=>{ 'Street' =>'', 'State' =>'', }, } ]
I tried with push statements like this push @{$specificResults->{$group}->{$colname}},$AllRecords->{'colname}; but with no luck. Any help is much appreciated. Thanks for your time.foreach my $results(@$hash_of_excel){ my $specificresults = GroupResults($results); } sub GroupResults{ my( $AllRecords )= @_; my $specificResults = {}; foreach my $colname(keys %$AllRecords){ for my $group ('User','Residence','IDs','Profile'){ $specificResults->{$group}->{$colname} = $AllRecords->{$colname}; } } warn Dumper($specificResults); return $specificResults; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: group certain columns in a hash
by choroba (Cardinal) on Feb 17, 2015 at 12:33 UTC |