Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Problema de orden al imprimir cadenas

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico
Mensaje Mie May 03, 2006 3:48 am
sacoo
Perlero Nuevo
Perlero Nuevo
Registrado: 03 May 2006
Mensajes: 3
Problema de orden al imprimir cadenas Responder citando

Buenas, hace ya tiempo que estoy luchando desde una Debian para hacer una pequeña practica en Perl, uso la version 5.8.8 sobre Debian.
El problema que tengo és que al llegar a esta instrucción:
Código:
my($line) = $_;
chomp($line);

for ( $i = 1; $i <= 3; $i++ ) {
print $line . sprintf("%02d", $i) . "\n";
}

Con un fichero que contiene:
lluis
anton

En lugar de imprimir
Cita:
lluis01
lluis02
lluis03
anton01
anton02
anton03

Me imprime
Cita:
01uis
02uis
03uis
anton01
anton02
anton03


De donde puede venir el problema?
Mensaje Mie May 03, 2006 4:16 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

Hay un carácter 13 (retorno de carro) extra después de lluis, antes del final de línea.
Mensaje Mie May 03, 2006 4:26 am
sacoo
Perlero Nuevo
Perlero Nuevo
Registrado: 03 May 2006
Mensajes: 3
Humm, interesante ... Responder citando

De acuerdo, ahora ya solo me hara falta quitar el carácter ese y a ejecutar Smile
Por cierto, ¿algún programa con el que pueda ver los caracteres ocultos?
He probado con el kate, kwrite, joe y alguno mas, pero no hay forma...
Mensaje Mie May 03, 2006 8:19 am
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
Responder citando

Yo con el Joe sí que le veo.

Cuando tengo que buscar algo que está muy escondido, a veces uso el hexedit o khexedit. Pero claro, es a nivel de código hexadecimal...

Otra posibilidad es usar Perl para quitar lo sobrante...
Código:
perl -pi -e 's/\015//' fichero.txt
Mensaje Jue May 04, 2006 2:51 am
sacoo
Perlero Nuevo
Perlero Nuevo
Registrado: 03 May 2006
Mensajes: 3
Solucionado Responder citando

Ya lo he solucionado, gracias por vuestra ayuda, al final lo que he hecho ha sido transformar el fichero con el comando dos2unix (tambien existe el unix2dos) y me funciona correctamente.
Publicar nuevo tema   Responder al tema    Foros de discusión -> Básico Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group