[Perl] Cambio de versión de Perl.
Salvador Ortiz Garcia
sog@msg.com.mx
Tue, 24 Feb 2004 17:24:24 -0600
On Tue, 2004-02-24 at 10:50, Alejandra Carrillo Velasco wrote:
> Nuestro provedor del servidor no hizo una actualización
> de sistema operativo, con ello cambió la versión de Perl
> y algunas cosas no están funcionando con los scripts que
> estaban bien en la versión anterior. Originalmente
> fueron escritos para la 5.0 y han pasado bien por la
> 5.5 y 5.6, pero en la 5.8 me dan los siguientes "problemas":
>
> Muchos de los scripts despliengan mensajes en español por
> lo que contienen letras acentuaduas, de primera instancia
> Perl se "queja" de esos caracteres en la linea de comandos,
> por web no, pero no despliega adecuadamente esos caracteres.
> la mayoría de los scripts tienen en la primera línea
> #!/usr/bin/perl pero al correr por web dan error 500, si
> les pongo #!/usr/bin/perl -w no dan ningún error.
>
> ¿En dónde encuentro qué cambios hay que hacer a los scripts
> para que funcionen en la nueva versión de Perl?
> ¿Algun documento de "migración"?
Los "problemas" que describes tiene su origen en el cambio a unicode
de perl y suelen volverse aparentes tan pronto como el ambiente en el
que perl corre (la máquina) también cambia a un locale en unicode.
Pues si perl espera unicode y recibe iso8859-1 se quejará amargamente.
En Unix revísate las variables $LANG y $LC_* y revisa que "encoding" usa
tu terminal.
En Web revisa si estás generando encabezados que le digan al navegador
que "encoding" usar y si estás generando consistentemente caracteres en
ese mismo.
La Solución(TM) consiste en homogenizar todos tus programas y ambientes
a unicode. Pero eso no siempre es simple o posible ("Todas las
terminales de mis usuarios soportan/asumen unicode?").
Y para complicar el asunto perl mismo aún tiene problemitas al respecto
(cambios en 5.8.1 vs 5.8.0)
De la documentación de perl lee las páginas del manual perluniintro y
perlunicode, y revisa los "pragmas" 'use encoding' y 'use utf8'.
Saludos.
--
Salvador Ortiz Garcia <sog@msg.com.mx>
Matías Software Group