ビギナーズ CGI

 初歩から始める初心者向けPerl-CGI講座  

| トップページ | CGI設置 | CGI作成 | 作成事例 | 設置用語 | 作成用語 | 関数リファレンス | FAQ | お問合せ |
  
CGIの設置方法
フリーで配布されているCGIを設置する際の手順や注意事項などの説明です。

CGI作成の初歩
初めてCGIを作る方向けの手順を簡単な例で説明しています。

CGI作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。

CGIの設置に関する用語
CGIの作成に関する用語
CGIの設置や作成時に使われている用語や関連知識を掲載しています。

設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。


 
 



unless を使って条件分岐を行う


if 文では条件に一致した場合に処理を実行しますが unless では条件と一致しない
場合に処理を実行するというものとなっており、注意が必要です。
また、一致しないという判断は先頭の unless 部分のみで、それ以降 elsif などを
記述した場合、それらは一致した場合に 真 となります。



この unless 、なんだか使い勝手が悪いというか、使い道が無いように思えます。
先頭の unless の条件のみ 偽の場合に処理を行い、それ以降の elsif では
if と同様に 真 の場合に処理を実行します。
if 文を使い、条件を not や ! を使い反転させた方が分かりやすいと思います
ので、後半ではその方法をご紹介します。



書式
unless (条件)
{
  一致しなかった場合の処理;
}
もし条件に一致しなかったら中の処理を実行 条件は必ず必要
elsif (条件)
{
  一致した場合の処理;
}
それ以外で条件に一致したら中に書いた処理を行う 条件は必ず必要
else
{
  それ以外の処理
}
上記以外の場合は中に書いた処理を行う 条件は絶対付けない

if ($aaa eq "tarou")
{
  $mes = "太郎ではありません";
}
もし変数 $aaa の内容が tarou でなければ
変数 $mes に太郎ではありません と代入する
elsif ($aaa eq "zirou")
{
  $mes = "次郎です";
}
それ以外で 変数 $aaa が zirou であれば
変数 $mes に次郎です と代入する
else
{
  $mes = "どちらでもありません";
}
上記に当てはまらなかった場合は、
変数 $mes にどちらでもありません と代入する


下の例では、先頭の unless の条件 $aaa < 100 を評価して、偽の場合は 100より大きいと
表示し、elsif では条件式 $aaa < 100 を評価して 真の場合に 100より小さいです と表示します。






if 文を使って上記の例と同じ条件分岐を行います


! 又は not を付けた条件は真偽が逆となりますので、例えば下の例の条件は、
$aaa < 100 ですので 100より小さい場合ですが、 !($aaa < 100) となっていますので、
100 より大きい場合になります。





関連項目

・ CGIの作成に関する用語
・ CGI作成に関するFAQ


Beginner's CGI  - Copyright (C) 2003 aimix. All Rights Reserved -