MTでPerlを学ぶ(その9・ifによる条件判断5)

またまた前回から1か月以上間が空いてしまいましたが、「MTでPerlを学ぶ」の第9回をお送りします。
今回ははif文の続きで、2つの条件のどちらかを満たしているかどうかで処理を分ける方法を紹介します。

以下の流れ図のように、2つの条件のどちらかが成立しているかどうかで、行う処理を分けたい場合があります。


図を大きく表示

この図のように、2つの条件を同時に判断して、どちらかが成立しているかどうかで処理を分ける場合、以下のようにif文を書きます。
2つの条件を「||」の演算子で結ぶことで、どちらかが成立しているかどうかで処理を分けることができます。

if (条件1 || 条件2) {
    条件1と条件2のどちらかが成立しているときの処理
}
else {
    条件1と条件2の両方が成立していないときの処理
}

2.例

例えば、ある試合のチケットの料金が、ファン感謝デーで以下のようになっているとします。

東京都または埼玉県在住の人は500円で、それ以外は1,000円

この場合、「東京都に住んでいる」と「埼玉県に住んでいる」という2つの条件を同時に調べ、それらのどちらかを満たすかどうかで、料金が変わります。
在住都道府県が変数$liveに代入されているとし、料金を変数$feeに求めたいとすると、以下のような流れで料金を判断すれば良いです。


図を大きく表示

上図の流れに沿って条件判断をif文に置き換え、料金を求めるプログラムを作ると、以下のようになります。

# 東京都か埼玉県に在住しているかどうかを調べる
if ($live eq '東京都' || $live eq '埼玉県') {
    $fee = 500;
}
else {
    $fee = 1000;
}
print "$live在住です。<br />";
print "料金は$fee円です。";

上記を含むインデックステンプレートのサンプルをダウンロード