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/


Reply via email to