Opérateurs de terminaison ?: en Perl

Dans le langage de programmation Perl, il existe un opérateur qui travaille avec trois opérandes. Des opérateurs de terminaison est de 2 caractères, ?:, et ces caractères sont écrits à côté, et entre opérandes.

Tertiaire, l'opérateur retourne une deuxième ou troisième opérande en fonction de la valeur le premier opérande. Si le premier opérande est la vérité, alors il revient alors la deuxième opérande si le premier opérande est un mensonge, il revient alors en troisième opérande (pour en savoir plus sur la vérité et le mensonge en Perl).

Voici un exemple:

▶ Run
#!/usr/bin/perl

my $var = 1 ? 100 : 200;

print $var;

Le programme affichera le nombre de 100.

  • D'abord écrit le premier opérande, dans notre exemple, le nombre de 1
  • Puis vient le symbole ?
  • Ensuite écrit la deuxième opérande 100
  • Puis vient le symbole :
  • Ensuite écrit le troisième opérande, 200

Le premier opérande 1 — c'est la vérité, de sorte que le résultat de l'opérateur est le deuxième opérande, c'est-à-dire le nombre de 100. C'est cette valeur qui est affectée à une variable et s'affiche sur l'écran.

Au lieu pour l'opérateur ternaire, vous pouvez utiliser if-else. Voici un programme qui fonctionne la même que la précédente:

▶ Run
#!/usr/bin/perl

my $var;

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

print $var;

Parfois plus pratique d'utiliser des opérateurs de terminaison, et parfois la conception if-else.

Autres articles