Pular para o conteúdo

Controle de linha sem usar array

Responder tópico
  • Denunciar
  • Indicar

1. Controle de linha sem usar array

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.

Responder tópico

2. Re: Controle de linha sem usar array

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

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

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]
---------------------------------------------------------------------


Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder