use strict; use warnings; my @source = qw(Sun Moon Pluto Venus Neptune); my @target = @ARGV ? @ARGV : qw(Sun Moon); print is_target_in_source(\@target, \@source), "\n"; sub is_target_in_source { my($target, $source) = @_; # omits arg validation my %target = map { $_ => 1 } @$target; my $in = 0; $target{$_} && $in++ for @$source; return $in == @$target ? 'Yes' : 'No'; }