El módulo charnames facilita la introducción de caracteres unicode:
lhp@nereida:~/Lperl/src/testing$ cat -n alfabeta.pl
1 #!/usr/local/bin/perl -w
2 use strict;
3 use charnames qw{:full greek hebrew katakana};
4 binmode(STDOUT, ':utf8');
5
6 print "\N{alpha}+\N{beta} = \N{pi}\n";
7 print "\N{alef} es la primera letra del alfabeto hebreo\n";
8 print "Un poco de Katakana: \N{sa}\N{i}\N{n}\N{mo}\n";
9
10 # Usando el nombre completo definido en el Standard Unicode
11 print "Hello \N{WHITE SMILING FACE}\n";
Cuando se ejecuta produce una salida como:
lhp@nereida:~/Lperl/src/testing$ alfabeta.pl α+β = ピ א es la primera letra del alfabeto hebreo Un poco de Katakana: サインモ Hello ☺Obsérvese como la salida para
\N{pi} no muestra la letra griega
π sino el correspondiente símbolo Katakana ピ: atención a las
colisiones entre alfabetos.
Las funciones viacode y vianame son recíprocas
y nos dan la relación nombre-código de un carácter:
pl@nereida:~/Lperltesting$ perl5.10.1 -COE -Mutf8 -dE 0
main::(-e:1): 0
DB<1> use charnames ':full'
DB<2> print charnames::viacode(0x2722)
FOUR TEARDROP-SPOKED ASTERISK
DB<3> printf "%04X", charnames::vianame("FOUR TEARDROP-SPOKED ASTERISK")
2722
Casiano Rodríguez León