[SP-pm] Como "ler" uma array que está dentro de um bloco "privado" ?

"Flávio R. Lopes" flavio.lopes at links.inf.br
Mon May 3 09:59:39 PDT 2010


Nelson Ferraz escreveu:
> Flávio,
>
> Você deve declarar a variável fora do loop, para que ela continue a
> existir quando o loop terminar.
>
> my (@ativo, em inativo);
>
> for (1..254) {
>     my $ip = "...";
>     # ...
>     if ( ... ) {
>        push @ativo, $ip; # use "push" para empilhar itens em um array
>     } else {
>        push @inativo, $ip;
>     }
> }
>
> # as variáveis declaradas fora do loop continuam a existir
> print "Ativos: ", join(",", em ativo}, "\n";
> print "Inativos: ", join(",", em inativo}, "\n";
>   

Humm!....legal!...agora clareou umas coisas aqui!
> Além de arrays, você também poderia ter usado hashes:
>
> my %ip;
>
> for (1..254) {
>     my $ip = "...";
>     # ...
>     if ( ... ) {
>        $ip{$ip} = 1;
>     } else {
>        $ip{$ip} = 0;
>     }
> }
>
> print "Ativos: ", join(",", grep { $ip{$_} == 1 } sort keys %ip}, "\n";
> print "Inativos: ", join(",", grep { $ip{$_} == 0 } sort keys %ip}, "\n";
>   
E quanto a usar HASHES eu realmente pensei em utilizá-lo...mas vou fazer 
isto quando eu desenvolver a próxima versão deste pequeno programinha, 
mas que irá abranger as classes de rede A, B e C.

Obrigado pela ajuda Nelson!

Abraço,
Flávio

PS: Putz...quem diria heim!....fiz minha primeira "ferramenta" em Perl!!!

> Enfim... TIMTOWTDI.
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
>   



More information about the SaoPaulo-pm mailing list