Bug#833892: perl-base: possible bug in perl "\u" string processing
Christoph Anton Mitterer
calestyo at scientia.net
Wed Aug 10 01:15:14 UTC 2016
Package: perl-base
Version: 5.22.2-3
Severity: normal
Tags: upstream
Hey.
The following might be a bug in how Perl uppercases strings as in e.g.:
print "\uf";
perlop(1) already documents, that in Unicode context, this can result
in inserting addition characters.
Typical example is:
U+00DF LATIN SMALL LETTER SHARP S
where the Unicode rules specify that this single character results in
"SS"[0].
Anyway, when in perl I do e.g.:
$ perl -C -e 'print "\U\N{U+00DF}\E\n";'
SS
is returned, which is good.
However, when I do:
$ perl -C -e 'print "\u\N{U+00DF}\E\n";'
Ss
is returned.
Now IMO that's an error, \u says "titlecase (not uppercase!) next character
only", the next character is however \N{U+00DF} (aka ß) and it's
capitalisation should AFAIU result in "SS", not "Ss".
Cheers,
Chris.
[0] Not sure if this is still the case in most recent versions, as there
is now a majuscle form of that character:
U+1E9E LATIN CAPITAL LETTER SHARP S
More information about the Perl-maintainers
mailing list