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.

Reply via email to