Re: 44 recetas para trabajar con Unicode en Perl
Publicado: 2012-04-20 16:11 @716
℞ 10: Nombres de caracteres personalizados
Como muchas otras recetas demuestran, el pragma charnames ofrece un considerable poder a la hora de usar y manipular caracteres Unicode a partir de sus nombres. Su opción :alias le permite crear nombres con ámbito léxico, a caracteres actuales, o incluso dar nombres útiles a caracteres de uso privado que no lo tengan:
Puede sobreescribir los nombres actuales (léxicamente, claro) con diferentes caracteres.
Esta característica tiene algunas limitaciones. Para un mejor efecto, los alias deben ceñirse a las reglas de los identificadores ASCII y no deben parecerse a los cuantificadores de expresiones regulares. Solo puede crear un alias para un carácter cada vez; existen otras opciones para crear un alias a una secuencia de caracteres.
Como siempre, la documentación del pragma charnames ofrece más detalles.
Artículo original (en inglés)
Como muchas otras recetas demuestran, el pragma charnames ofrece un considerable poder a la hora de usar y manipular caracteres Unicode a partir de sus nombres. Su opción :alias le permite crear nombres con ámbito léxico, a caracteres actuales, o incluso dar nombres útiles a caracteres de uso privado que no lo tengan:
Using perl Syntax Highlighting
- use charnames ":full", ":alias" => {
- ecute => "LATIN SMALL LETTER E WITH ACUTE",
- "APPLE LOGO" => 0xF8FF, # carácter de uso privado
- };
- "\N{ecute}"
- "\N{APPLE LOGO}"
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Puede sobreescribir los nombres actuales (léxicamente, claro) con diferentes caracteres.
Esta característica tiene algunas limitaciones. Para un mejor efecto, los alias deben ceñirse a las reglas de los identificadores ASCII y no deben parecerse a los cuantificadores de expresiones regulares. Solo puede crear un alias para un carácter cada vez; existen otras opciones para crear un alias a una secuencia de caracteres.
Como siempre, la documentación del pragma charnames ofrece más detalles.
Artículo original (en inglés)