11.1 IF/ELSE |
Para executar algo condicionalmente o PERL tem a expressão:
if (verdadeiro) { faz-tal-coisa; faz-tal-coisa; }Para uma expressão ser verdadeira NÃO pode retornar ZERO ou VAZIO (Undef). Qualquer outro valor é válido como true. Zero ou Undef equivalem a:false. O valor equivalente a true normalmente é: 1.
Podemos juntar duas ou mais condições usando os símbolos:
&& and lógico || or lógicoPara um desvio alternativo temos:
if (verdadeiro) { faz-tal-coisa1; faz-tal-coisa2; } else { faz-tal-coisa3; faz-tal-coisa4; }Podemos ter várias opções:
if (verdadeiro1) { faz-tal-coisa1; faz-tal-coisa2; } elseif (verdadeiro2) { faz-tal-coisa3; faz-tal-coisa4; } else { faz-tal-coisa5; }
11.2 UNLESS |
Para fazer determinadas coisas exceto se uma opção for verdadeira temos:
unless (verdadeiro) { faz-tal-coisa; }
11.3 LOOPS |
Para repetir determinadas coisas enquanto um teste for verdadeiro:
while(verdadeiro) { faz-tal-coisa; }Para o loop ser feito até que um teste retorne verdadeiro:
until(verdadeiro) { faz-tal-coisa; }Um caso muito comum de loop é quando temos uma variável que vai sendo incrementada e testamos se ela chegou a um limite. O PERL tem a expressão:
for(assinalamento-inicial; teste; incremento) { faz-tal-coisa; }Veja um exemplo simples, para listar números de 0 até 5:
for($i=0;$i<=5;$i=$i+1) { print "$i \n"; }Podemos usar: $i++ no lugar de: $i = $i + 1 , para alegria do pessoal do C++.
11.4 FOREACH |
Uma outra construção interessante é com foreach. Repetimos várias linhas de código, substituindo uma determinada variável ($x, por exemplo) pelos valores de uma lista. Assim:
foreach $x (1,2,3,4) { $y = 4*$x; print "$y \n"; }listaria os números: 4,8,12,16.
No lugar da lista poderíamos usar um array.