[Cascavel-pm] Dúvida estúpida

Adriano Ferreira a.r.ferreira em gmail.com
Sábado Abril 14 13:50:58 PDT 2007


On 4/14/07, "Iberê O. Kuntz de Souza" <kuntzzz em gmail.com> wrote:
> Acheii, ta aqui oh:
>
> "Nao feche seus arquivos com close - eles serao fechados no proximo
> open." - Eficiencia do programador, Programcao Perl 3ed.

Isto significa que se você fizer

    open ARQ, '>', 'arquivo1.txt' or die $!;

    ...

    # e depois

    open ARQ, '>', 'arquivo2.txt' or die $!;

O handle aberto para o 'arquivo1.txt' será fechado antes de abrir o
'arquivo2.txt' (coisa que - se não me engano - a linguagem C não faz
para você). Como acima, esta observação serve para quando você usa o
mesmo filehandle (no caso o glob ARQ). Também valeria se você tivesse
aberto com uma variável léxica como hoje é recomendado.

    open my $arq, '>', 'arquivo1.txt' or die $!;

Por outro lado, este conselho é controverso também hoje. Muitos pregam
que o close deve ser explícito para evitar que você tenha de pensar
demais sobre onde este fechamento acontece. O close explícito é bom
para a manutenção do programa.

Saudações,
Adriano.



> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


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