4.2 if/else unless/else if/elsif(条件分岐)

条件式を判定し、プログラムを分岐させます。

<if/else構文>
if(条件式){
    プログラムブロック(条件式がtrueのとき実行される)
}
else{
    プログラムブロック(条件式がfalseのとき実行される)
}
<unless/else構文>
unless(条件式){
    プログラムブロック(条件式がfalseのとき実行される)
}
else{
    プログラムブロック(条件式がtrueのとき実行される)
}
<if/elseif構文>
if(条件式1){
    プログラムブロック(条件式1がtrueのとき実行される)
}elseif(条件式2){
    プログラムブロック(条件式2がtrueのとき実行される)
}
}elsif(条件式3){
    プログラムブロック(条件式3がtrueのとき実行される)
}
else{
    プログラムブロック(条件式1〜3がすべてfalseのとき実行される)
}
行番号 CGIプログラム 解   説
1 #!/usr/local/bin/perl5 1行目は必ずPerlプログラムのある場所を記入
2 #条件分岐の使い方 #の右側の文字列はコメント
3 $n1=1;
4 $n2=2;
5 $s1="aaa";
6 $s2="bbb";
7 print "Content-type: text/html\n\n"; print文でブラウザへタグ文字列を送っています
8 print "<HTML>\n";
9 print "<HEAD>\n";
10 print "<TITLE>条件分岐</TITLE>\n";
11 print "</HEAD>\n";
12 print "<BODY>\n";
13 if($n1 $n2){ if条件文(数値)
14     print "式1=true<BR>\n"; trueのとき実行されます
15 }
16 else{
17    print "式1=false<BR>\n"; falseのとき実行されます
18 }
19 if($s1 $s2){ if条件文(文字列)
20     print "式2=true<BR>\n"; trueのとき実行されます
21 }
22 else{
23     print "式2=false<BR>\n"; falseのとき実行されます
24 }
25 unless($n1 $n2){ unless条件文
26     print "式3=false<BR>\n"; falseのとき実行されます
27 }
28 else{
29     print "式3=true<BR>\n"; trueのとき実行されます
30 }
31 if($n1 $n2){ if条件文-1
32     print "最初の判定でtrue<BR>\n"; trueのとき実行
33 }elsif($n1 $n2){ 条件文-1がfalseのときの条件文-2
34     print "2回目の判定でtrue<BR>\n"; 条件文-2がtrueのとき実行
35 }
36 else{
37     print "trueの条件式が無い<BR>\n"; 条件文-1、条件文-2ともfalseのとき実行
38 }
39 if($n1 $n2){
40     if($s1 t $s2){
41         print "入れ子も可能です<BR>\n"; ifの中にifと言った入れ子も可能です
42     }
43 }
44 print "</BODY>\n";
45 print "</HTML>\n";

戻る 次へ