my %seen_values; for my $aref (@array_of_arrayrefs) { $aref = [ map { $seen_values{$_}++ ? () : $_ } @$aref ]; } #### my %seen_values; my @new_AofA = map { $seen_values{$_->[0]}{$_->[1]}++ ? () : $_ } @AofA;