[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