in reply to Merging Data into one array

Like this?:

#!/usr/bin/perl use strict; use warnings; use Data::Dump qw[ pp ]; my $data1 = [ { 'NAME' => '1PAUL DY', 'DATE' => '12009-05-05', 'NUMBER' => '1000 +01', 'ACC' => '1A1A', }, { 'NAME' => '2PAUL DY', 'DATE' => '2011-01-05', 'NUMBER' => '20033 +1', 'ACC' => '2A3B', }, { 'NAME' => '4PAUL DY', 'DATE' => '42011-01-05', 'NUMBER' => '4200 +331', 'ACC' => '6A4B', }, ]; my $data2 = [ { 'EXT1' => '1b', 'EXT2' => '12b', 'EXT3' => '13b', 'EXT4' => '14d' +, 'ACC' => '1A1A', }, { 'EXT1' => '2b', 'EXT2' => '2b', 'EXT3' => '2b', 'EXT4' => '2d', ' +ACC' => '2A3B', }, { 'EXT1X' => '4b', 'EXT2X' => '4b', 'EXT3X' => '4b', 'EXT4X' => '4d +', 'ACC' => '4A4B', }, ]; for my $i ( 0 .. $#{ $data1 } ) { if( $data1->[ $i ]{ ACC } eq $data2->[ $i ]{ ACC } ) { $data1->[ $i ]{ $_ } = $data2->[ $i ]{ $_ } for keys %{ $data2 +->[ $i ] } } } pp $data1; __END__ C:\test>1148951.pl [ { ACC => "1A1A", DATE => 12009-05-05, EXT1 => "1b", EXT2 => "12b", EXT3 => "13b", EXT4 => "14d", NAME => "1PAUL DY", NUMBER => 100001, }, { ACC => "2A3B", DATE => 2011-01-05, EXT1 => "2b", EXT2 => "2b", EXT3 => "2b", EXT4 => "2d", NAME => "2PAUL DY", NUMBER => 200331, }, { ACC => "6A4B", DATE => 42011-01-05, NAME => "4PAUL DY", NUMBER => +4200331 }, ]

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
In the absence of evidence, opinion is indistinguishable from prejudice.