for (0..$#$data1){ if ($data1->[$_]{ACC} eq $data2->[$_]{ACC}){ push @all, { %{ $data1->[$_] }, %{ $data2->[$_] } }; } }