my $map = 'abc'; my $re = '^' . join '', map "(?=.*?$_)", map quotemeta, split m//, $map; if ('text without all three chars' =~ m/$re/) { print "Failure"; }