use strict; use warnings; my @got = qw(blue_shirt hat jacket preserver ); # sunscreen); my @required = qw(preserver sunscreen water_bottle jacket); # ---------- directly coded my %required; @required{@required}=@required; delete @required{@got}; warn "Skipper is missing: ", values %required; # ---------- or alternative as custom function warn "Skipper is missing: ", array_minus(@got,@required); sub array_minus (\@\@) { my ( $got, $required ) = @_; my %required; @required{@required}=@required; delete @required{@got}; return values %required; }