c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my $rx_vowel = qr{ [aeiouAEIOU] }xms; my $rx_cons = qr{ (?! $rx_vowel) [[:alpha:]] }xms; ;; my $rx_cvc = qr{ \b $rx_cons $rx_vowel $rx_cons \b }xms; ;; my $s = 'when did the cop get his cap and tape and run out too?'; my @captures = $s =~ m{ $rx_cvc }xmsg; dd \@captures; " ["did", "cop", "get", "his", "cap", "run"] #### c:\@Work\Perl\monks>perl -wMstrict -MData::Dump -le "my $vowel = 'aeiouAEIOU'; my $rx_vowel = qr{ [\Q$vowel\E] }xms; my $rx_cons = qr{ [^[:^alpha:]\Q$vowel\E] }xms; ;; my $rx_cvc = qr{ \b $rx_cons $rx_vowel $rx_cons \b }xms; ;; my $s = 'when did the cop get his cap and tape and run out too?'; my @captures = $s =~ m{ $rx_cvc }xmsg; dd \@captures; " ["did", "cop", "get", "his", "cap", "run"]