初歩から始める初心者向け
Perl-CGI
講座
■
|
トップページ
|
CGI
設置
|
CGI
作成
|
作成事例
|
設置用語
|
作成用語
|
関数リファレンス
|
FAQ
|
お問合せ
|
CGI
の設置方法
フリーで配布されている
CGI
を設置する際の手順や注意事項などの説明です。
CGI
作成の初歩
初めて
CGI
を作る方向けの手順を簡単な例で説明しています。
CGI
作成ヒント集
こういう事をする時は、どのように行えばいいのか?など具体的な事例を紹介します。
CGI
の設置に関する用語
CGI
の作成に関する用語
CGI
の設置や作成時に使われている用語や関連知識を掲載しています。
設置に関するFAQ
作成に関するFAQ
設置や作成をする際に起こりがちなトラブルの説明と、よくある質問とその回答を掲載しています。
if
を使って条件分岐させる
何らかの条件の時は〜をするなどの場合、
if
などを使って条件分岐させます。
書式
if (条件)
{
一致した場合の処理;
}
もし条件に一致したら、中に書いた処理を行う
条件は必ず必要
elsif (条件)
{
一致した場合の処理;
}
それ以外で条件に一致したら中に書いた処理を行う
条件は必ず必要
else
{
処理
}
上記以外の場合は中に書いた処理を行う
条件は絶対付けない
例
if ($aaa eq "tarou")
{
$mes = "太郎です";
}
もし変数 $aaa の内容が tarou であれば
変数 $mes に太郎です と代入する
elsif ($aaa eq "zirou")
{
$mes = "次郎です";
}
それ以外で 変数 $aaa が zirou であれば
変数 $mes に次郎です と代入する
else
{
$mes = "どちらでもありません";
}
上記に当てはまらなかった場合は、
変数 $mes にどちらでもありません と代入する
上記は if から始まって、elsif で順に条件を設定する事ができ、全て当てはまらなかった
場合は、最後にある else に記載された処理が実行されます。
下のサンプルソースでは 変数 $aaa の値を順に
1より小さいか? → 5より小さいか? → 11より小さいか? → それ以外の値か?
と比較されて
一致した場合は記述した処理を実行
し、
それ以降の比較は行われません
。
#!/usr/local/bin/perl $aaa = 10; if ($aaa < 1) { $mes = "1より小さいです"; } elsif ($aaa < 5) { $mes = "5より小さいです"; } elsif ($aaa < 11) { $mes = "11より小さいです"; } else { $mes = "それ以外の値です"; } print "Content-type: text/html\n\n"; print <<"HTML"; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <TITLE>sample</TITLE> </HEAD> <BODY> $mes </BODY> </HTML> HTML exit;
条件で、if だけでも結構ですし、 else が無くても構いません。
例えば上記で else を無くすと3回比較した後、一致しなければ何も処理を行いません。
if や elseif なのに条件が無かったり、 else なのに条件があったりするとエラーとなります。
下の一覧で、正しく動作する例と、エラーとなる例を記載しましたのでご参照下さい。
例
if (条件)
{
〜;
}
OK
if (条件)
{
〜;
}
elsif (条件)
{
〜;
}
OK
if (条件)
{
〜;
}
else
{
〜;
}
OK
if (条件)
{
〜;
}
if (条件)
{
〜;
}
OK
elsif (条件)
{
〜;
}
NG
いきなりelsifから始まってはいけません
else
{
〜;
}
NG
いきなりelseから始まってはいけません
if (条件)
{
〜;
}
else (条件)
{
〜;
}
NG
else に条件があってはいけません
if
{
〜;
}
NG
if に条件は必須です
if (条件)
{
〜;
}
elsif
{
〜;
}
NG
elsif も条件は必須です
関連項目
・
CGI
の作成に関する用語
・
CGI
作成に関するFAQ
Beginner's CGI
- Copyright (C) 2003 aimix. All Rights Reserved -