初歩から始める初心者向け
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より小さいです と表示します。
#!/usr/local/bin/perl $aaa = 50; unless ($aaa < 100) { $mes = "100より大きいです"; } elsif ($aaa < 100) { $mes = "100より小さいです"; } 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 文を使って上記の例と同じ条件分岐を行います
! 又は not を付けた条件は真偽が逆
となりますので、例えば下の例の条件は、
$aaa < 100 ですので 100より小さい場合ですが、 !($aaa < 100) となっていますので、
100 より大きい場合になります。
#!/usr/local/bin/perl $aaa = 200; if (!($aaa < 100)) { $mes = "100より大きいです"; } elsif ($aaa < 100) { $mes = "100より小さいです"; } 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;
関連項目
・
CGI
の作成に関する用語
・
CGI
作成に関するFAQ
Beginner's CGI
- Copyright (C) 2003 aimix. All Rights Reserved -