• Publicidad

Insertar una línea cada 10 líneas en un archivo de texto

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

Insertar una línea cada 10 líneas en un archivo de texto

Notapor punkscp » 2010-05-06 23:40 @028

Saludos cordiales,

Espero puedan ayudarme con este problemita que me tiene dando vueltas la cabeza:

He estado intentando insertar una línea cada vez que pasen 10 líneas en un archivo de texto.
Lo único que pude hacer es insertar una línea después de cada línea. Ejemplo:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2.  
  3. open $FH,"<mp31.lst" or die $!;
  4. $flag=0;
  5. while(<$FH>){
  6.     print;
  7.  
  8.     {
  9.         print "/home/mp3";
  10.         print "psi.mp3\n";
  11.         $flag=0;
  12.     }
  13. }
  14. close $FH;
  15.  
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4


¿Cómo puedo hacer que imprima pero solo cada 10 líneas?

De antemano ¡les agradezco su atención!
punkscp
Perlero Nuevo
Perlero Nuevo
 
Mensajes: 8
Registrado: 2010-05-06 23:26 @018

Publicidad

Re: Insertar una linea cada 10 lineas en un archivo de texto

Notapor explorer » 2010-05-07 03:16 @178

Bienvenido a los foros de Perl en Español, punkscp.

Puedes usar la variable especial $., que guarda el número de líneas leídas.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!/usr/bin/perl
  2. open my $fichero, q[<], 'fichero_entrada.txt' or die "ERROR: $!\n";
  3.  
  4. while (my $linea = <$fichero>) {
  5.     print $linea;               # Imprimimos la $línea del $fichero
  6.  
  7.     if ($. % 10 == 0) {         # Si el número de línea del fichero ($.), es múltiplo de 10
  8.         print "INSERTO\n";      # Imprimimos un inserto
  9.     }
  10. }
  11.  
  12. close   $fichero;
  13.  
  14. __END__
Coloreado en 0.006 segundos, usando GeSHi 1.0.8.4
JF^D Perl Programming Language
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 12924
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Insertar una linea cada 10 lineas en un archivo de texto

Notapor punkscp » 2010-05-07 11:23 @516

¡¡Muchas Gracias!!

Todo a la perfección =), esto de Perl es una maravilla.

De antemano, agradezco la respuesta, fue muy rápida.
punkscp
Perlero Nuevo
Perlero Nuevo
 
Mensajes: 8
Registrado: 2010-05-06 23:26 @018


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado