por explorer » 2008-01-23 07:46 @365
He hecho la prueba y mi Perl no se 'carga' ningún acento. Para Perl, es un byte más (o dos más en caso de utf8). No tiene ningún filtro que quite unos bytes de otros.
Solo hay unos casos en los que sí puede intervenir la codificación de los ficheros que manejamos:
* Si estamos usando use utf8 o use locale
* Si en el open usamos alguna capa (layer) para indicar la codificación de entrada o de salida
* Si indicamos un tipo específico de codificación, con use Encode
* Si modificamos el handle de fichero con binmode() con alguna capa de codificación
Por defecto, Perl trabaja siempre con iso-8859-1.
Pero no importa la codificación: los caracteres acentuados, sin importar que sean utf8 o latin1, no son espacios en blanco.
Haz la prueba siguiente. Haz un programa que solo abra el fichero, lea una línea y la imprima en pantalla. Esa salida la vuelcas a otro fichero y luego la ves con un editor hexadecimal. No debería haber ningún cambio con respecto al original. (Comprueba el fichero original con el hexadecimal, también, por ejemplo, con el comando hexdump -C).
No sé... quizás se me ha escapado algo, pero en las pruebas que he hecho, a mi no me parte las palabras, ni variando la codificación.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES