Tertiary operador ?: em Perl

Na linguagem de programação Perl existe um operador que trabalha com três operandos. Tertiary o operador, que é de 2 caracteres, ?:, sendo que estes símbolos não são registrados ao lado, e entre operandos.

Tertiary o operador retorna ou o segundo, ou o terceiro operando com base no valor primeiro operando. Se o primeiro operando é a verdade, então retorna o segundo operando, se o primeiro operando é mentira, então retorna o terceiro operando (leia mais sobre a verdade e a mentira em Perl).

Aqui está um exemplo:

▶ Run
#!/usr/bin/perl

my $var = 1 ? 100 : 200;

print $var;

O programa exibirá o número de 100.

  • Primeiro, é gravado o primeiro operando, no nosso exemplo, é o número de 1
  • Em seguida, vem o símbolo ?
  • Depois de gravado o segundo operando, 100
  • Em seguida, vem o símbolo :
  • Depois de gravado o terceiro operando, 200

O primeiro operando 1 — essa é a verdade, portanto, o resultado do operador é o segundo operando, т. е. o número de 100. É este o valor que é atribuído a uma variável e é exibido na tela.

Em vez de тернарного operador pode utilizar if-else. Aqui está um programa que funciona de modo como o anterior:

▶ Run
#!/usr/bin/perl

my $var;

if (1) {
    $var = 100;
} else {
    $var = 200;
}

print $var;

Às vezes é mais conveniente usar terciárias operador, e às vezes o projeto if-else.

Outros artigos