Win8 Strawberry 5.30.3.1 (64) Tue 07/26/2022 6:46:09 C:\@Work\Perl\monks >perl use strict; use warnings; my $input = q/saxyzzy Monday Saturday Thursday Saturday Sat Sun Mon Tue Wen Th/; my $re = join "|", map ".*\\b($_\\S*)", map m/(..)/, qw/monday tuesday wednesday thursday friday saturday sunday/ ; print "\$re '$re' \n"; print join '.', $input =~ m/^(?|$re)\b(?{ print "$1\n" })(*FAIL)/i; ^Z $re '.*\b(mo\S*)|.*\b(tu\S*)|.*\b(we\S*)|.*\b(th\S*)|.*\b(fr\S*)|.*\b(sa\S*)|.*\b(su\S*)' Mon Monday Tue Wen Th Thursday Sat Saturday Saturday saxyzzy Sun