• Publicidad

Aprendiendo expresiones regulares

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Re: Aprendiendo expresiones regulares

Notapor explorer » 2012-03-25 16:53 @745

foreop escribiste:Tengo que ejecutarlo como: perl script.pl (./script.pl me dice "cannot execute binary file").
Si hablas de Notepad++, deducimos que estás en Windows. En perlwin32, sección Running Perl Scripts te pone tres métodos para ejecutar programas Perl en Windows de forma cómoda. De todas maneras, con distribuciones como ActivePerl, eso debería estar instalado de base.

foreop escribiste:Los caracteres acentuados, no se ven bien en la consola. (La consola usará codificación diferente).
Sí, así es. La consola usa la codificación CP850 o CP852. Mira este hilo.

foreop escribiste:Lee y escribe archivos UTF-8 perfectamente.
Usando el pragma open IO como lo tienes hecho, te lo hace Perl de forma automática.

foreop escribiste:¿Qué debería hacer para poder abrir un archivo en cualquier codificación como utf-8?
Lo principal es saber la codificación en la que está el archivo que leemos y saber en qué codificación queremos la salida.

foreop escribiste:Abrir un archivo, sin importar la codificación.
Bueno, siempre puedes abrirlo con ':raw', y así sabes que lo estás abriendo como una ristra de bytes.. :)

foreop escribiste:Tratarlo como si fuese utf-8.
Con la función decode_utf8() del módulo Encode, puedes decodificar la ristra leída antes, como utf8.

foreop escribiste:Escribir otro archivo, con la misma codificación que el primero.
Ya, pero primero hay que saber la codificación de entrada. Con el módulo Encode::Guess puedes intentar adivinarlo, pero solo si es ascii, utf8 o UTF-16/32 con BOM. Quizás con Encode::Guess::Educated, pero no tiene documentación. Seguramente, Encode::Locale sea tu mejor opción. Lo que no sé decirte es cómo ya que no lo he usado nunca.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Publicidad

Re: Aprendiendo expresiones regulares

Notapor foreop » 2012-03-26 09:27 @436

He instalado "ActivePerl" y con la consola de Windows sí funciona poner "script.pl", sin embargo con el MINGW, si el script está en UTF-8 solo se puede ejecutar con "perl script.pl"; si está en otra codificación no hay problema. Curioso.

Voy a probar ahora lo de la codificación de los archivos ;)

Quizás debería cambiarse el nombre del post, añadiendo "y codificación" o algo así.

Gracias.
foreop
Perlero nuevo
Perlero nuevo
 
Mensajes: 6
Registrado: 2012-03-24 12:46 @574

Re: Aprendiendo expresiones regulares

Notapor explorer » 2012-03-26 10:04 @461

Con el sistema de asociación de extensiones, de Windows. MingW es un conjunto de herramientas. Quizás sea la diferencia de versiones de Perl.

Y para hablar ahora de codificaciones, también puedes iniciar un nuevo hilo...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Anterior

Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 13 invitados