for my $regexp (qr/^((a*)b|a*b?d)*c\2$/, qr/^(a*b?d|(a*)b)*c\2$/) { for my $string (qw( aabadcaa aababdcaa )) { say $string =~ /$regexp/ ? 'Yes' : 'No'; } } #### Yes No Yes Yes #### use re 'debug';
## Yes No Yes Yes ##
## use re 'debug';