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