On 13/05/2011 11:11, Agnello George wrote:
Hi All
I have a small issue in arranging data with a array ref .
$arrayref = [ [ [ 'user1, 'c'], [ 'user2', 'a'], [ 'user2', 'b' ],[
'user2', 'd' ],[ 'user3', 'a' ],[ 'user2', 'f' ] ] ];
i tried the following
my %sh ;
foreach my $i ( @$arrayref) {
push (@{$sh{$i->[0]}},{group => [$i->[1] } );
}
required hash
%sh = ( user1 => { group => [ c ] },
user2 => { group => [ a b d f] },
user3 => { group => [ a ] }
)
but i am not able to get it in this format .
Can some one please help me out
Hello
Something like the program below perhaps?
HTH,
Rob
use strict;
use warnings;
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;
my $arrayref = [ [
[ 'user1', 'c' ],
[ 'user2', 'a' ],
[ 'user2', 'b' ],
[ 'user2', 'd' ],
[ 'user3', 'a' ],
[ 'user2', 'f' ]
] ];
my %sh;
foreach my $record (@{$arrayref->[0]}) {
my ($key, $val) = @$record;
push @{$sh{$key}{group}}, $val;
}
print Data::Dumper->Dump([\%sh], ['*sh']);
**OUTPUT**
%sh = (
'user1' => {
'group' => [
'c'
]
},
'user2' => {
'group' => [
'a',
'b',
'd',
'f'
]
},
'user3' => {
'group' => [
'a'
]
}
);
--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/