Bienvenido a los foros de Perl en español, luisjf.
Lo primero que hay que averiguar es en qué codificación están los caracteres almacenados en la base de datos.
Lo normal es que estén en utf-8, pero podría ser otra.
Una vez sabido, lo que queda es 'decodificarles' una vez que les leas.
ileiva te ha mostrado un ejemplo en el que activa la opción
mysql_enable_utf8 del módulo
DBD::mysql (que es llamado de forma automática por DBI).
Esta opción le indica a DBI que lo que reciba o deba leer desde los campos textuales, debe ser considerado como que está codificado en utf-8. Cuando Perl los recibe, internamente los almacena en esa codificación.
Y luego queda la segunda parte: enviarlos a otro sitio.
ileiva te pone de ejemplo el sacarlos por pantalla, con un print(). Como sabemos que están codificados en utf-8, debemos indicarle a Perl que queremos que los emita tal cual (quizás, porque nuestra terminal está funcionando también en esa codificación). Por eso pone la sentencia
binmode(STDOUT, ":utf8");.
Si necesitaras cambiar la codificación, ahí es donde la indicarás, y Perl se encargará de hacer las conversiones necesarias, de forma transparente.
Si tuvieras la necesidad de usar una codificación distinta, o si, dentro del programa, necesitas realizar operaciones con otras cadenas de caracteres en otras codificaciones, quizás necesitarás hacer conversiones entre ellas. Para ello, te recomiendo que mires el módulo
Encode.