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文
条件演算子