#!/usr/bin/env perl -l use strict; use warnings; my @AoA = ( [ 2, 13, 3, 16 ], [ 10, 1, 11, 6 ], [ 0, 10, 11, 19 ], [ 6, 1, 19, 15 ], [ 17, 6, 18, 12 ], ); my $selected = $AoA[2]; my %unique = map { $_ => 1 } @$selected; print "@$_" for grep { ! map { $_ ? $_ : () } @unique{@$_} } @AoA; #### 2 13 3 16 17 6 18 12