use strict; use warnings; my @a = ('a','r','z','x'); my $match = join '|', @a; my $mystring = 'areqrtyzx'; my %found; $found{$_}++ for grep /$match/, split '', $mystring; print "No match" unless @a == keys %found;