• Publicidad

Buscar coincidencias en fichero

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

Bucle falla en la última línea

Notapor newperlero » 2011-07-20 03:53 @203

Hola,

Me está dando problemas un bucle pero sólo en la última vuelta del mismo, y me tiene desconcertado.

Tengo un fichero que contiene lo siguiente:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
00100110
11011011
00110011
11001101
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Con el siguiente código, reviso sí cualquiera de estas líneas está en un hash que anteriormente he rellenado con su contenido ( o sea, que en el hash están todas las líneas).

Si la línea está en el hash, cómo es el caso, debe imprimir en el fichero la misma línea pero comentada ( # delante de la línea ).

También puede pasar que haya una línea ya comentada, en cuyo caso, la imprimimos al fichero tal cual.

Y el caso es que funciona perfecto, salvo en la última línea del fichero, que la imprime, pero sin el comentario.

Y me he asegurado de que en el hash está también la última línea...

¿Tenéis idea de por qué puede estar pasando esto?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. HASH: while (my $linea = <IN>) {
  2.     if ($linea =~ /^#(.+)$/){ print OUT "$linea"; next HASH;};
  3.     if (exists $HASH{$linea}) {
  4.         print OUT '#';
  5.     }
  6.     print OUT $linea;
  7. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
newperlero
Perlero nuevo
Perlero nuevo
 
Mensajes: 42
Registrado: 2011-07-15 06:38 @318

Publicidad

Re: Bucle falla en la última línea

Notapor explorer » 2011-07-20 10:24 @475

Pues yo no veo nada raro... salvo que sea un problema debido a los caracteres que no se ven: los de fin de línea.

Mira a ver si los ficheros terminan con un retorno de carro, o no.
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: No hay usuarios registrados visitando el Foro y 23 invitados