Den ternære operatør ?: i Perl

I programmeringssproget Perl, der er en operatør, der arbejder med tre operander. Det ternære operatøren er 2 tegn ?:, og disse symboler er indspillet er ikke i nærheden af, og mellem operander.

Det ternære operatøren returnerer enten den anden eller den tredje operand, afhængigt af den værdi, af den første operand. Hvis den første operand er sandt, så returnerer den anden operand hvis den første operand er falsk, så er det tilbage i den tredje operand (læs mere om sandt og falsk i Perl).

Her er et eksempel:

▶ Run
#!/usr/bin/perl

my $var = 1 ? 100 : 200;

print $var;

Programmet vil vise antallet 100.

  • Er først skrevet til den første operand, i dette eksempel, antallet 1
  • Så er der et symbol ?
  • Derefter registreres den anden operand 100
  • Så er der et symbol :
  • Derefter registreres den tredje operand 200

Den første operand 1 er sandt, så resultatet af operatøren er den anden operand, dvs antallet 100. Denne værdi er tildelt til en variabel og vises på skærmen.

I stedet for den ternære operatør kan bruges if-else. Her er et program, der fungerer godt samme som forrige:

▶ Run
#!/usr/bin/perl

my $var;

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

print $var;

Nogle gange er det mere praktisk at bruge en ternær operatør, og undertiden design if-else.

Andre artikler