It's looking to me like perl5's embedded pattern modifiers don't work when used with raku's :P5 compatibility modifier...
printf "%-25s", "Trying raku style: "; if "this" ~~ m/ ^ <[a..z]> / { say "good"; } else { say "ng"; } printf "%-25s", "Trying :P5 without (?^x: "; if "this" ~~ m:P5/^[a-z]/ { say "good"; } else { say "ng"; } printf "%-25s", "Trying :P5 with (?^x: "; if "this" ~~ m:P5/(?^x: ^ [a-z] )/ { say "good"; } else { say "ng"; } printf "%-25s", "Trying :P5 with (?^i: "; if "this" ~~ m:P5/(?^i:^[a-z])/ { say "good"; } else { say "ng"; } # OUTPUT: # Trying raku style: good # Trying :P5 without (?^x: good # Trying :P5 with (?^x: ng # Trying :P5 with (?^i: ng