Bienvenido a los foros de Perl en Español, ddiana.
Sería interesante saber en qué sistema operativo estás y, si fuera posible, un ejemplo del fichero de entrada y el código que has probado y no funciona.
Hay que tener en cuenta:
* En qué codificación está el fichero de entrada
* En qué codificación está escrito el programa
* En qué codificación va a funcionar el programa
* En qué codificación van a salir los resultados.
Por defecto, Perl siempre trabaja en ISO-8859-1 (latin1). Eso quiere decir que espera que toda entrada está en esa codificación. Y por defecto, la salida también será así.
También por defecto, Perl piensa que el código del programa está también en ISO-8859-1. Si, en cambio, usas otra codificación, pues deberás indicarlo al principio.
Una solución básica para simplificar este problema es trabajar en un sistema operativo que maneje ficheros y sistemas de ficheros siempre de la misma manera. Por ejemplo, en los Linux más modernos, toda la codificación es utf8 desde hace ya unos años, por lo que no hay problemas a la hora de intercambiar documentos con otros países.
Pues eso, que nos digas las respuestas a esas 4 preguntas anteriores, y nos enseñas algo de código, y te echamos una mano.
En el hilo anterior (Nombres de ficheros con caracteres latinos en Windows) hemos dado unos cuantos ejemplos de cambio de codificación en ese sistema operativo.
Más información en
perllocale.