my %found; my $i=0; while ($i<@$AOA) { my $key = $A->[1] . '-' . $A->[3]; if (exists $found{$key}) { splice(@$AOA,$i,1); } else { $found{$key}=1; $i++; } }