Loose-Info.com
Last Update 2008/05/18
TOP - Perl - if

if文は次の書式となります。

if ( 条件式1 ) ブロック1

ブロック1
条件式1を評価した結果が真の場合に実行されるブロック


if ( 条件式1 ) ブロック1 else ブロック2

ブロック1
条件式1を評価した結果が真の場合に実行されるブロック
ブロック2
条件式1を評価した結果が偽の場合に実行されるブロック


if ( 条件式1 ) ブロック1 elsif ( 条件式2 ) ブロック2

ブロック1
条件式1を評価した結果が真の場合に実行されるブロック
ブロック2
条件式2を評価した結果が真の場合に実行されるブロック
続けて条件式3、ブロック3以降の配置も可能


if ( 条件式1 ) ブロック1 elsif ( 条件式2 ) ブロック2 ... else ブロック3

ブロック1
条件式1を評価した結果が真の場合に実行されるブロック
ブロック2
条件式2を評価した結果が真の場合に実行されるブロック
続けて条件式n、ブロックn以降の配置も可能

ブロック3
どの条件式ついても真とならなかった場合に実行されるブロック

(例)
$a = 2; $b = 2; $c = 3; if ($a == $b) { # 条件式が真となるため実行される print "test1\n"; } if ($a == $c) { # 条件式が偽となるため実行されない print "test2\n"; } else { # 条件式が偽となるため実行される print "test3\n"; } if ($a == $c) { # 条件式が偽となるため実行されない print "test4\n"; } elsif ($a == $b) { # 条件式が真となるため実行される print "test5\n"; } if ($a == $c) { # 条件式が偽となるため実行されない print "test6\n"; } elsif ($b != $c) { # 条件式が偽となるため実行されない print "test7\n"; } else { # すべての条件式が偽となるため実行される print "test8\n"; }

実行結果
test1 test3 test5 test7