use strict;
use warnings;
my @a = ( ['id', 'name', 'age'],
       ['1', 'Fred', '24'],
       ['2', 'Frank', '42'],);

my @b = ( ['id', 'sex'],
       ['1', 'm' ],
       ['2', 'm'],);


my %hash_id;

for my $i (1 .. $#b) {
  $hash_id{ $b[$i][0] } = $i;
}

my @merged;
push @merged, ['id', 'name', 'age', 'sex'];
for my $i (1 .. $#a) {
  my $b_i =  $hash_id{ $a[$i][0] };

  push @merged, [ @{$a[$i]}, $b[$b_i][1]];
}

use Data::Dumper;
print Dumper [EMAIL PROTECTED];

__END__

On Tue, Apr 22, 2008 at 1:29 AM, Vishal G <[EMAIL PROTECTED]> wrote:
>
> Hi Guys,
>
>  I have a little complicated problem...
>
>  I have two arrays
>
>  @a = ( ['id', 'name', 'age'],
>            ['1', 'Fred', '24'],
>            ['2', 'Frank', '42'],
>          );
>
>  @b = ( ['id', 'sex'],
>            ['1', 'm' ],
>            ['2', 'm'],
>          );
>
>  I want to join these two AoA, based on id, so the resulting array will
>  look like this
>
>  @c = ( ['id', 'name', 'age', 'sex'],
>            ['1', 'Fred', '24', 'm' ],
>            ['2', 'Frank', '42', 'm'],
>          );
>
>  Any Ideas?
>
>  Thanks in advance.
>
>
>  --
>  To unsubscribe, e-mail: [EMAIL PROTECTED]
>  For additional commands, e-mail: [EMAIL PROTECTED]
>  http://learn.perl.org/
>
>
>

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to