my %arrays = ( a1 => \@a1, a2 => \@a2, a3 => \@a3, ); my %seen; for my $key (keys %arrays) { my $array = $arrays{ $key }; for my $item (@$array[ 1 .. $#$array ]) { $seen{ $item }->{ $key }++; } } for my $key (sort keys %seen) { my $value = $seen{ $key }; if (keys %$value > 1) { print "multiple $key in @{[keys %$value ]}\n"; } }