• Publicidad

Leer un archivo de texto indicando desde y hasta qué línea

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

Leer un archivo de texto indicando desde y hasta qué línea

Notapor marianetes » 2009-06-12 10:39 @485

Estimados, me encuentro con un problema al manipular un archivo que tiene más de 6000 líneas. Lo que necesito es leer de a pedazos de 100 líneas. Lo que hago ahora es leer línea por línea desde el comienzo del archivo con chomp() dentro de un while().

Si alguien puede ayudarme, gracias.
marianetes
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-06-12 10:33 @481

Publicidad

Notapor explorer » 2009-06-12 13:34 @607

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

Puedes hacer varias cosas...

Puedes leer todo el fichero de golpe, meterlo en un arreglo, y así ya puedes acceder a los elementos de forma directa:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
open   FICHERO, '<', 'mificherolargo.txt' or die;
my    @fichero = <FICHERO>;
close  FICHERO;
chomp @fichero;

# Un pedazo
my @pedazo = @fichero[100..199];  # Las segundas cien líneas
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


O también puedes usar Tie::File:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use Tie::File;

tie my @fichero, 'Tie::File', 'mificherolargo.txt';

# Un pedazo
my @pedazo = @fichero[100..199];  # Las segundas cien líneas
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Seguro que hay otras formas...
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

Notapor marianetes » 2009-06-13 09:15 @427

Muchísimas gracias, era justo lo que necesitaba.

saludos
marianetes
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2009-06-12 10:33 @481


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 26 invitados

cron