kappa has asked for the wisdom of the Perl Monks concerning the following question:
Good day, fellow monks!
That's what we read in perl5110delta:
The key change here is that \d will no longer match every digit in the + unicode standard (there are thousands) nor will \w match every word +character in the standard, instead they will match precisely their PO +SIX or Perl definition.
AFAIU, that means \w will no more match non-ascii letters in Unicode strings. I have just built a fresh 5.11 and I don't witness this change:
Now on to 5.11:% perl -v # my system perl This is perl, v5.10.0 built for i486-linux-gnu-thread-multi % perl -E '"\x{432}" =~ /\w/ and say "matched"' # cyrillic letter v matched
% ~/work/perl-5.11.0/perl -v This is perl, v5.11.0 (*) built for i686-linux ... % ~/work/perl-5.11.0/perl -I lib -CS -E '"\x{432}" =~ /\w/ and say "ma +tched"' matched
On one hand, this is quite a relief as it means I don't have a lot of very broken code on me. On the other hand, this contradicts my understanding of the declared change.
Can someone enlighten me?
--kap
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Regarding the new \w regexp escape in 5.11
by demerphq (Chancellor) on Oct 05, 2009 at 14:45 UTC | |
by ajs (Novice) on Oct 05, 2009 at 20:16 UTC | |
by demerphq (Chancellor) on Oct 06, 2009 at 09:54 UTC | |
Re: Regarding the new \w regexp escape in 5.11
by ikegami (Patriarch) on Oct 05, 2009 at 14:41 UTC | |
by kappa (Chaplain) on Oct 06, 2009 at 12:30 UTC | |
by ikegami (Patriarch) on Oct 06, 2009 at 18:10 UTC |
Back to
Seekers of Perl Wisdom