[Cascavel-pm] Re:[Cascavel-pm] Escopo: Dúvida

lup lup em terra.com.br
Domingo Janeiro 5 18:34:32 CST 2003


Olá Ednardo!

    Olha amigo, a melhor coisa que eu teria pra te dizer é... Só Deus sabe, realmente não testei isso. Porém eu imagino voltando um pouco ao C que os HANDLERS são globais, portanto quando você faz o segundo open referenciando a stream a FH que já estava aberta você mata a primeira STREAM, seria um reopen. Da minha maneira de ver é isso que acontece. Tanto são globais que você pode referir-se a STDIN e STDOUT de qualquer lugar do programa e não me lembro de existir nenhuma maneira de você explicitar o modo global para uma stream como:

global open(FH , ARQUIVO); :-) isso é bem estranho.

Um abraço,

     Luciano Greiner

De:cascavel-pm-admin em mail.pm.org

Para:cascavel-pm em mail.pm.org

Cópia:

Data:Sun, 05 Jan 2003 21:24:50 -0200

Assunto:[Cascavel-pm] Escopo: Dúvida

  

> Em perl o escopo de uma variável, é sempre o bloco em que a mesma
> foi declarada, por exemplo:
> 
> ------------------------------------------------------------
> use strict;
> 
> {
> my $a = 10
> my $f = 0;
> 
> while (not $f) {
> my $a = 20;
> 
> $f = 1;
> 
> print $a # imprime 20
> }
> 
> print $a # imprime 10
> print $f # imprime 1
> }
> 
> print $f; # com 'use strict', variável indefinida
> ------------------------------------------------------------
> 
> 
> Minha dúvida: File Handles, também possuem escopo?
> 
> Por exemplo:
> 
> ------------------------------------------------------------
> use strict;
> 
> open FH,">>/etc/passwd";
> 
> my ($login,$password) = &get();
> 
> ...
> 
> print FH "$login:$password:$UID:$GID::$HOME:$SHELL\n"
> 
> close FH;
> 
> #
> ## Obtem `login' e `password'
> # 
> sub get {
> open FH,"/var/tmp/user.tmp";
> 
> my ($login,$passwd) = split / /,;
> 
> close FH;
> 
> return($login,$password);
> }
> ------------------------------------------------------------
> 
> O que acontecerá com `FH' após `&get' ter sido executada? 
> 
> 
> -- 
> Ednardo Lobo - www.elobo.cjb.net
> 
> --
> System checkpoint complete.
> _______
_______
> Cascavel-pm mailing list
> Cascavel-pm em mail.pm.org
> http://cascavel.pm.org/mailman/listinfo/cascavel-pm
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: VirusScan / Atualizado em 30/12/2002 / Versão: 1.3.13
> Proteja o seu e-mail Terra: http://www.emailprotegido.terra.com.br/
> 
> 




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