Path to this page:
./
textproc/p5-Unicode-CaseFold,
Unicode case-folding for case-insensitive lookups
Branch: pkgsrc-2020Q3,
Version: 1.01nb3,
Package name: p5-Unicode-CaseFold-1.01nb3,
Maintainer: pkgsrc-usersWhat is Case-Folding?
In non-Unicode contexts, a common idiom to compare two strings
case-insensitively is lc($this) eq lc($that). Before comparing two strings
we normalize them to an all-lowercase version. "Hello", "HELLO", and
"HeLlO" all have the same lowercase form ("hello"), so it doesn't matter
which one we start with; they are all equal to one another after lc.
In Unicode, things aren't so simple. A Unicode character might have
mappings for uppercase, lowercase, and titlecase, and the lowercase mapping
of the uppercase mapping of a given character might not be the character
that you started with! For example lc(uc("\N{LATIN SMALL LETTER SHARP S"))
is "ss", not the eszett we started off with! Case-folding is a part of the
Unicode standard that allows any two strings that differ from one another
only by case to map to the same "case-folded" form, even when those strings
include characters with complex case-mappings.
Master sites: (Expand)
SHA1: a264996a6a9ed01cac13fc51c538b28ac4245b1c
RMD160: 4a5f082eef40a8cfb2356eafe5cb7c932a903a7b
Filesize: 66.708 KB
Version history: (Expand)
- (2020-10-10) Package added to pkgsrc.se, version p5-Unicode-CaseFold-1.01nb3 (created)