[Cascavel-pm] Escopo: Dúvida

Ednardo Lobo ednardo em elobo.cjb.net
Domingo Janeiro 5 17:24:50 CST 2003


    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 / /,<FH>;

            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.



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