for my $outer ( qr/hi/, qr/bye/ ) { print grep { /$outer/ } qw/ bike hello hi / } #### my $outer = join "|", qw/ hi bye /; print grep { /$outer/ } qw/ bike hello hi /; #### $outer = join "|", qw/ hi bye /; /($outer)/ and print $1 for qw/ bike hello-hi hi-ho /;