[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