On Fri, May 13, 2011 at 01:00:57PM +0200, Rob Coops wrote: > It might not look nice but I would do the following:
But it can be cleaned up quite a lot: > #!/usr/local/bin/perl > > use strict; > use warnings; > > my $arrayref = [ [ [ 'user1', 'c'], [ 'user2', 'a'], [ 'user2', 'b' ],[ > 'user2', 'd' ],[ 'user3', 'a' ],[ 'user2', 'f' ] ] ]; > > my %hash; > foreach my $arrayreference ( @{${$arrayref}[0]} ) { > if ( ! defined $hash{${$arrayreference}[0]} ) { > $hash{${$arrayreference}[0]} = { group => [ ${$arrayreference}[1] ] }; > } else { > push @{${$hash{${$arrayreference}[0]}}{group}}, ${$arrayreference}[1]; > } > } foreach my $arrayreference ( @{$arrayref->[0]} ) { push @{$hash{$arrayreference->[0]}->{group}}, $arrayreference->[1]; } > use Data::Dumper; > print Dumper %hash; print Dumper \%hash; -- Paul Johnson - p...@pjcj.net http://www.pjcj.net -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/