Make shared hash keys to be \0-terminated:
one possible resolution for
"UTF-8, weird \w behaviour after HASH-KEY-ification"
http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-01/msg01327.html
The hash keys were shared (the SvLEN(sv) = 0 was the giveaway).
The hash keys weren't \0-terminated. This meant that the EOL ($)
in regmatch() got the nextchr beyond the last character. Since
the keys were UTF-8, the nextchr was \1, not the usual
string-terminating \0. Wham, no match.
I think another possible resolution could be to stop the nextchr
computation in regmatch() from peeking beyond the last character
of the string:
nextchr = locinput < PL_regeol ? UCHARAT(locinput) : 0;
p4raw-id: //depot/perl@14908