if (&{sub { $bigstring =~ /$_/ and return 1 for @array }}) { ...; } #### my $matched; $matched = $bigstring =~ /$_/ and last for @array; if ($matched) { ...; } #### if (grep $_, map $bigstring =~ /$_/, @array) { ...; } #### if (map $bigstring =~ /$_/ ? 1 : (), @array) { ...; }