三項演算子

広告

三項演算子は「if...else」を簡略化したような演算子です。まず書式を確認して下さい。

条件式 ? 真の時の値 : 偽の時の値;

三項演算子では条件式を評価し、真(true)だった場合には真の時の値を、偽(false)だった場合には偽の時の値を返します。

実際のプログラム例としては次のようになります。

my ($seiseki, $kekka);

$seiseki = 75;
$kekka = $seiseki > 60 ? "合格" : "不合格";
print $kekka;

今回の例では条件式である「$seiseki > 60」を評価し、真だった場合には「合格」を、偽だった場合には「不合格」を返します。結果的に今回は「合格」と言う値が変数「$kekka」に格納されます。

三項演算子は、このように条件によって値を選択したい場合に簡略化して記述できる演算子です。三項演算子はif文を使って記述することもできます。

my ($seiseki, $kekka);

$seiseki = 75;
if ($seiseki > 60){
  $kekka = "合格";
}else{
  $kekka = "不合格";
}
print $kekka;

三項演算子は慣れない間はいっけん分かりにくいのですが、if文を使って記述するよりも簡潔に記述できる場合も多いので慣れてくれば便利な演算子です。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test7-1.pl

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my ($seiseki, $kekka);

$seiseki = 75;
$kekka = $seiseki > 60 ? "合格" : "不合格";
print $kekka;

上記を「test7-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

三項演算子

( Written by Tatsuo Ikura )