Mie May 03, 2006 3:48 am
|
 |
sacoo
Perlero Nuevo

|
Registrado: 03 May 2006
Mensajes: 3
|
|
| Problema de orden al imprimir cadenas |
|
|
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? |
|
|
|
Mie May 03, 2006 4:16 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
| Hay un carácter 13 (retorno de carro) extra después de lluis, antes del final de línea. |
|
Mie May 03, 2006 4:26 am
|
 |
sacoo
Perlero Nuevo

|
Registrado: 03 May 2006
Mensajes: 3
|
|
| Humm, interesante ... |
|
|
De acuerdo, ahora ya solo me hara falta quitar el carácter ese y a ejecutar
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... |
|
Mie May 03, 2006 8:19 am
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4082
Ubicación: Valladolid, España
|
|
|
|
|
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 |
|
|
Jue May 04, 2006 2:51 am
|
 |
sacoo
Perlero Nuevo

|
Registrado: 03 May 2006
Mensajes: 3
|
|
| Solucionado |
|
|
| 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. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|