Controle de linha sem usar array

1. Controle de linha sem usar array

Leonardo Gerheim de Andrade
general

(usa Slackware)

Enviado em 18/04/2010 - 23:34h

Olá pessoal;

To precisando de uma ajuda. Preciso ler um arquivo muito grande sem ter que pasá-lo para um array, até aí ok. Entretanto como faço para ter o controle de cada linha lida como em um vetor?

open(file,ARGV[0]);
@array=(<file>); #NÃO QUERO PASSAR O ARQUIVO PARA UM ARRAY;
print @array[5]; # QUERO IMPRIMIR APENAS UM LINHA DELE COMO COM O ARRAY;

Abraço.


  


2. Re: Controle de linha sem usar array

Sandro Marcell
SMarcell

(usa Slackware)

Enviado em 19/04/2010 - 01:24h

Você poderia tentar algo do tipo:


open(FILE, '< /path/arquivo');

while ($linha = <FILE>) {
print $linha if $. == 5;
}

close(FILE);


3. Controle de linha sem usar array

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/04/2010 - 08:02h

O codigo do colega acima esta correto. Porem usar o comando open com dois argumentos e bareword esta em desuso e nao eh recomendado pela comunidade perl. O correto seria:

open (my $file, "<", "arquivo");

while (<$file>){
print if $. == 5;
}

close $file;


4. Re: Controle de linha sem usar array

net
netsoul

(usa Debian)

Enviado em 19/04/2010 - 13:55h

Outra forma podería ser:
---------------------------------------------------------------------
use Tie::File;
tie my @array, 'Tie::File', 'arquivo' or die "ERROR: $!\n";
print $array[4]
---------------------------------------------------------------------








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts