```{index} single: Unicode::UCD ``` # Unicode::UCD ```{pperl-module-badges} Unicode::UCD ``` `Unicode::UCD` - the Unicode Character Database: what perl knows about each character, block and script. ```perl use Unicode::UCD qw(charblock charinfo); my $ci = charinfo(0xE9); printf "Unicode %s | %s | %s, class %s\n", Unicode::UCD::UnicodeVersion(), charblock(0x263A), $ci->{name}, $ci->{category}; # Unicode 17.0.0 | Miscellaneous Symbols | LATIN SMALL LETTER E WITH ACUTE, class Ll ``` `charinfo`, `charblock`, `charscript`, `charblocks`, `charscripts`, `charprop`, `prop_invlist`, `casefold`, `casespec`, `num` and the rest are `Unicode/UCD.pm` 0.83's own Perl, unchanged, over the data of the Unicode version perl 5.44 was built with (17.0.0) whatever the host has installed. Upstream reads three of its tables - the Unicode version, the block list and the special casing rules - from files along `@INC` (`unicore/version`, `unicore/Blocks.txt`, `unicore/SpecialCasing.txt`). pperl stores them in the binary when it is built and hands them to `UCD.pm` when it loads, so nothing is read from disk. ## Differences from upstream None in behaviour.