[Cascavel-pm] [Spam] Re: [Spam] Re: PrincipaisContribuidoresCascavelPM

Nelson Ferraz nferraz em gmail.com
Segunda Maio 28 10:56:53 PDT 2007


> Se você pode declarar uma vez só, por que fazer isso várias vezes,  
> ou seja, por quê fazer isso dentro de um
> loop, por exemplo? Para mim continua esquisito.

Um exemplo simples: imagine que você queira refactorar o seu código,  
separando o loop em outra subrotina. Se as variáveis estiverem  
declaradas dentro do próprio loop, você não precisa caçá-las (e não  
corre o risco de esquecê-as) no início da subrotina: o código é auto- 
contido.

Um outro exemplo:

   my $count = 0;

   foreach (@foo) {
     print ++$count;
   }

   # muitas linhas depois...

   foreach (@bar) {
     print ++$count; # ops! $count nao estava em zero
   }

Esse é o mesmo problema das variáveis globais, embora num escopo  
menor: a variável pode ter seu valor alterado, o que levaria a  
efeitos colaterais indesejados.



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