Instrução Perl UNLESS ... ELSIF

A unless declaração pode ser seguida por um opcional elsif...else , que é muito útil para testar as várias condições usando a instrução única a menos que ... elsif.

Ao usar as instruções except, elsif e else, há alguns pontos a serem considerados.

  • A unless pode ter zero ou um elsee deve vir depois de qualquer elsif's.

  • A unless pode ter de zero a muitos elsifde e eles devem vir antes do else.

  • Uma vez elsif tem sucesso, nenhum dos restantes elsifde ou elseserão testados.

Sintaxe

A sintaxe de um unless...elsif...else declaração na linguagem de programação Perl é -

unless(boolean_expression 1) {
   # Executes when the boolean expression 1 is false
} elsif( boolean_expression 2) {
   # Executes when the boolean expression 2 is true
} elsif( boolean_expression 3) {
   # Executes when the boolean expression 3 is true
} else {
   # Executes when the none of the above condition is met
}

Exemplo

#!/usr/local/bin/perl
 
$a = 20;
# check the boolean condition using if statement
unless( $a  ==  30 ) {
   # if condition is false then print the following
   printf "a has a value which is not 20\n";
} elsif( $a ==  30 ) {
   # if condition is true then print the following
   printf "a has a value which is 30\n";
} else {
   # if none of the above conditions is met
   printf "a has a value which is $a\n";
}

Aqui, estamos usando o operador de igualdade == que é usado para verificar se dois operandos são iguais ou não. Se ambos os operandos forem iguais, ele retorna verdadeiro; caso contrário, ele retorna falso. Quando o código acima é executado, ele produz o seguinte resultado -

a has a value which is not 20