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") 2722Casiano Rodríguez León