if
if (EXPR) BLOCK
if (EXPR) BLOCK else BLOCK
if (EXPR) BLOCK elsif (EXPR) BLOCK ...
if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
if EXPR
EXPRが真の場合にBLOCKを実行します。条件によって分岐する処理を記述する際に利用します。
2番目のようにelseがある場合、EXPRが真の場合には最初のブロック、偽の場合にはelseのBLOCKを実行します。
3番目のようにelsifがある場合には、最初のEXPRが真の場合には最初のブロック、偽の場合にはelsifのEXPRを評価します。この評価の結果が真の場合にelsifのBLOCKを実行します。elsifは複数書くことができます。elsifはelseifと間違いやすいので注意。
4番目のようにelsifの後にelseを書くことができます。すべてのEXPRが偽だった場合にelseのBLOCKを実行します。
5番目は修飾子と呼ばれるもので、EXPRが真の場合に修飾している文を実行します。
サンプルプログラム
# 単純なif文 if ($score >= 60) { print "合格\n"; } # else付き if ($score >= 60) { print "合格\n"; } else { print "不合格\n"; } # elsifとelse付き if ($score >= 80) { print "A\n"; } elsif ($score >= 70) { print "B\n"; } elsif ($score >= 60) { print "C\n"; } else { print "不合格\n"; } # 修飾子 print "合格\n" if $score >= 60;
関連項目
・switch文・unless文
・条件演算子