>perl -wMstrict -MData::Dump -le "my $line = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit.' ;; my @array = ('ipsum', 'sit amet', ' elit '); my ($avoid) = map qr{ $_ }xms, join ' | ', map s{ \s+ }' \s+ 'xmsgr, map s{ \A \s+ | \s+ \z }''xmsgr, @array ; print $avoid; ;; my @got = $line =~ m{ (?: $avoid (*SKIP)(*FAIL))? [[:alpha:]]+ }xmsg; dd \@got; " (?^msx: ipsum | sit \s+ amet | elit ) ["Lorem", "dolor", "consectetur", "adipisicing"]