Condicionais
Declarações condicionais permitem que você mude o fluxo do seu código.
Declarações condicionais operam com os valores Booleanos que você aprendeu anteriormente,
e incluem if/else/elsif
e unless
.
Quando o resultado de uma expressão entre parênteses é verdadeiro, o bloco entre chaves é executado:
if (1 == 1) { say 'Verdadeiro'; } if (1 == 0) { say 'Falso'; }
Quando também quiser fazer algo sempre que a expressão for falsa, basta usar else
:
if (0) { say 'Verdadeiro'; } else { say 'Falso'; }
Quando quiser testar várias expressões em sequência, use elsif
:
my $x = 1; if ($x == 0) { say 'x é zero'; } elsif ($x < 0) { say 'x é menor que zero'; } else { say 'x é maior que zero'; }
Há também uma forma mais curta para declarações com if
:
my $x = 5; say 'Verdadeiro' if $x > 0;
O unless
é o oposto do if
, que executa o bloco quando a expressão é avaliada como falsa.
my $x = 5; say 'Verdadeiro' unless $x == 0;
Que é a mesma coisa que escrever:
my $x = 5; say 'Verdadeiro' if !($x == 0);
Como você sabe, em Perl os valores verdade são tudo que não é avaliado como zero, então a comparação com 0 normalmente pode ser omitida:
my $x = 5; say 'Verdadeiro' unless $x;
Exercício
Corrija o código abaixo para que exiba 'Olá'
em vez de Até logo'
usando operadores lógicos e sem mudar o valor de $x
.
my $x = 0; if ($x) { say 'Olá'; } else { say 'Até logo'; }