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/