[Perl] Acentos en windows.

Mauricio Herrera Cuadra arareko en yahoo.com
Lun Jun 28 13:48:40 CDT 2004


Hola,

La manera en como yo he librado ese problema es muy parecida a la tuya
(seguramente hay mejores métodos, pero a veces no hay tiempo suficiente
para investigarle :P), con las siguientes diferencias (aquí tu expresión
regular modificada a mi manera):

    /^[a-z0-9ñáéíóú\s\.,]{1-25}$/i

El modificador "i" al final le dice a la maquinaria de expresiones
regulares que evalue la cadena de texto de manera insensible a las
mayúsculas/minúsculas, al parecer este es el problema en tu expresión
regular, puesto que la elaboraste con puras MAYÚSCULAS.

También prefiero utilizar "\s" en lugar de " " para encontrar espacios en
blanco, se me hace una manera mas "sana" de redactar mi expresión regular
(sobretodo cuando son super complejas y elaboradas, que inclusive pueden
ocupar varias líneas de código para mayor legibilidad) desde el punto de
vista que al interprete de perl no le interesan los espacios en blanco tal
cual son. Espero haberme sabido explicar :)

Ojala esto te sirva, a mi me ha funcionado.
Saludos.

> Date: Mon, 28 Jun 2004 11:45:57 +0200
> From: "Rafael F. Rodríguez " <rafaelf en sitelcom.es>
> Subject: [Perl] Acentos en windows.
> To: perl en tlali.iztacala.unam.mx
> Message-ID: <200406281146.08211.rafaelf en sitelcom.es>
> Content-Type: Text/Plain;  charset="iso-8859-15"
> 
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hola Lista :-) .
> 
> 	Pues estoy casi terminando un scripts donde leo de una base de
> datos y lo paso a un xml, pero me doy cuenta que cuando intento validar
> cadena de caracteres (para rechazarla si no cumple con lo especificados)
> no pasa bien los caracteres acentuados.
> 
> 	En mis reglas de validación está hecha con expresiones regulares y
> tengo puesto algo así: /^[A-Z0-9 ÑÁÉÍÓÚ,\.]{1-25}$/
> 
> 	Pero me doy cuenta que la ñ y los acentos no las pasa, cuando
> realizo un print "$cadena\n"; veo que los acentos son códigos ascii
> extraños, ¿como hago para que perl entienda bien los acentos?.
> 
> 	Muchas gracias.
> 
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (GNU/Linux)
> 
> iD8DBQFA3+jbgH5COkHoO4sRAr6lAKCWfQTmoL3OAW88Tn1NdP+dq1vLiACgh07c
> By3lFktd4VpWnzL+/S1BnEM=
> =kXQ6
> -----END PGP SIGNATURE-----
> 


=====
MAURICIO HERRERA CUADRA
arareko en yahoo.com
http://www.geocities.com/arareko/

"I've seen 5.11 divided into 11 different grades of increasing difficulty, as follows: 5.11a, 5.10d, 5.11-, 5.11b, 5.11, 5.11c, 5.9 squeeze, 5.11+, 5.10 OW, 5.12a, 5.11d"    — Brutus of Wyde.

-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCM/CS/IT/LS/MD/MU/PA/S/TW/O>B/M/P/AT$ d-(---)>!$ s+:+>$ a26>+++>?$ 
C(++++)>---$ UBL+++>UAVHIOSCX*---$ P++++(--)>--- L->+$ E-(--)>+++$ 
W+(+++)>-- N+>- o+++(--) K?>$ w+(---)>$ !O M>+$ !V PS+(+++) PE(-) Y(+) 
PGP(-)>+ t(-)>+++$ 5 X@>+$ R*>+++$ tv(+)>+$ b+>+++$ DI+++>+++$ 
D+++>++++$ G++(-)>++++$ e++>++++$ h!>---$ r%>++ y+(**)>+$ 
------END GEEK CODE BLOCK------


		
__________________________________
Do you Yahoo!?
Yahoo! Mail Address AutoComplete - You start. We finish.
http://promotions.yahoo.com/new_mail 


Más información sobre la lista de distribución Perl