[Cascavel-pm] Melhor forma de abrir um arquivo

Nelson Ferraz nferraz em gmail.com
Segunda Setembro 10 05:42:52 PDT 2007


Em Sep 10, 2007, às 1:05 PM, Patty Silva escreveu:

> Ola Pessoal.. qual  a melhor forma de abrir um arquivo lendo-o  
> linha a linha:
>
> opendir( DIR, $basedir ) or die "Problemas ao abrir diretorio: $!";
>
> foreach my $file (sort(readdir DIR))
> {
>     next if $file eq '.' or $file eq '..';
>
>     chdir($basedir) || die "\n *** Erro no diretorio $basedir ***";
>
>     open my $fh, "<", $file or die "Nao foi Possivel Abrir o  
> Arquivo: $!";
>
>
> ou
> ----------------------------------------------------------------
> chdir ($caminho) || die "\n *** Erro no diretorio $caminho ***";
>
> while (my $arquivo = <*.TXT>)
> {
>
>   my $infile= $caminho.$arquivo;
>
>   open(ARQIN,$inFile);

Patty,

A melhor solução talvez seja uma mistura dos dois exemplos:

No primeiro exemplo você faz um chdir antes de abrir o arquivo, o que  
pode levar a problemas se você tiver que trabalhar com diretórios  
diferentes. É melhor definir o caminho explicitamente ao abrir o  
arquivo.

No segundo exemplo você usou um open com apenas dois parâmetros -- e  
não verificou se o open retornou um erro. É melhor usar a forma de  
três parâmetros, verificando o erro como no primeiro exemplo.

[]s

Nelson



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