On Wed Aug 05 07:37:00 2015, duff wrote: > <PerlJam> m: '%E3%81%82' ~~ m:ignorecase/['%' (<[abcdef0123456789]> ** > 2)]+/ && say $/[0]; > <+camelia> rakudo-moar 0dcbba: OUTPUT«「E3」 「81」 「82」» > <PerlJam> hoelzro: I guess something is broken with character class > ranges? > <jnthn> PerlJam: Other fun question is if you can rely on > chr(start)..chr(end) being contiguous implying > chr(uc(start))..chr(uc(end)) being > <jnthn> PerlJam: And the answer is surely no because that'd make life > way too easy :) > <jnthn> PerlJam: So it'll need a bit of care to fix, but shouldn't be > too bad :) > <jnthn> Trouble is though that then you lose the nice charrange > optimization > <jnthn> Or at least, if you want to keep it you've got some analysis > to do > <jnthn> Anyway, long story short I can see why it didn't get done yet. > I agree it probably should be. :) > * PerlJam adds to the ticket for now. >
The bug is actually in the LTM engine, and can also be triggered as: perl6-m -e "'%E3%81%82' ~~ m:ignorecase/['%' (<[a..f]>|x)]+/ && say $/[0]" Which wrongly produces no output.