[Cascavel-pm] Matriz

Igor Sutton igor.sutton em gmail.com
Sexta Julho 28 06:23:41 PDT 2006


Hum.

Para a dúvida da matriz (que eu ainda acho que é uma dúvida de listas, já
que pelo que lembro matrizes são multidimensionais). Quando você vai iterar
um arquivo, você tem que lembrar que ele pode ser muito grande - pode não
ser em todas as situações, mas é uma boa prática evitar que possa haver um
estouro de memória. Temos algumas situações:

open my $fh, "<", "arquivo.txt" or die $!;

# não bom, pois pode exceder o limite de memória, já que o
# Perl irá transformar todo o conteúdo do arquivo em um array,
# quebrando na posição em que existir $/ (perldoc perlvar)
foreach (<$fh>) { ... }

# bom, pois pega cada linha do arquivo (podendo mudar o delimitador padrão
$/)
# por vez, não gerando um array temporário
while (defined(my $line = <$fh>)) { ... }

# ou utilizando a variável mágica $_
while (<$fh>) { ... }

Agora voltando ao EOF, quando você executa <$fh> em contexto escalar, ele
retorna 'undef' quando não existem mais linhas (ou elementos) para retornar.
Isto serve para arrays também:

my @array = qw/1 2 3 4 5/;
foreach my $e (@array) { ... }

Acho que outros monges podem contribuir com isso também.

Em 28/07/06, Thomas Britis <thomas em tcnet.com.br> escreveu:
>
> my @matriz;
> open (F, "<$file");
> @matriz = <F>;
> my $num = $#matriz + 1;
>
> ou:
>
> foreach (@matriz) { # Vai até o fim de @matriz, alocando a linha na
> variavel $_
> ou ainda:
> for ($x = 0; $matrix[$x]; $x++) { # Ai vc lê a linha com: $matrix[$x]
>
> Paola Montini wrote:
> > Olha eu novamente, vcs ainda não se livraram de mim
> > Tenho um arquivo texto o qual coloquei dentro de uma matriz, cada linha
> > desse arquivo é um caminho diferente que deve ser lido um de cada vez,
> >
> > não sei quantas linhas possue essa matriz.....
> > no perl existe a função While not EOF ????
> > Não quero fazer besteira!!!!
> >
> > bPaola Montini
> > YMF-Consultoria
> > Fone: 5010-9220
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
>
> --
> Thomas Storino Britis
> TCNet Informatica e Telecomunicacoes LTDA
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>



-- 
Igor Sutton Lopes
t: +55 51 9627.0779
e: igor.sutton em gmail.com
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/cascavel-pm/attachments/20060728/226960c4/attachment-0001.html 


Mais detalhes sobre a lista de discussão Cascavel-pm