■■■■■■■■■■■■■■■■■■■■

			 CGI講座・リプレイ
		     -第10講- 条件による分岐(2)

		■■■■■■■■■■■■■■■■■■■■

■1、比較演算子(文字列)■
	
	数値を比較してその大小を判断する比較演算子については
	前回見てきた通りである。
	今回は文字列について判断する比較演算子を見ていく。

	文字列についての比較演算子は以下の通りである

〜と等しい eq 〜と等しくない ne 〜より大きい gt 〜より小さい lt 〜以上 ge 〜以下 le
等しい、等しくないというのはなんとなくイメージできるかもしれないが 大小を比較する、と言われると違和感を感じることだろう。 文字の大小とは、辞書での大小関係、 辞書の項目の前のほうにあるのか、後ろのほうにあるのかをさす。 日本語ならば50音順、英数字ならばアルファベット順で判断される。 ■2、条件分岐(3択以上)■ 前回は2択を見てきたが、分岐が3つ以上あったときにはどうするのか? elseの後に続けてifをつければよさそうだが、 Perlの場合はelse ifを縮めて「elsif」という形にして使う。 そんなわけで3択以上の場合は次のようになる。
if(条件式1) { 条件1を満たす場合の処理 } elsif(条件式2) { 条件2を満たす場合の処理 } else { いずれの条件も満たさない場合の処理 }
4択、5択となるとelsifの部分が増えていくことになる。 ■3、文字を条件とした条件分岐(実用編)■ 以上を踏まえて今回のお手本を見てみよう。 今回は「目玉焼きにかけるものは何か?」という質問に対して 選択肢が「ソース」「しょうゆ」と「その他」の3つがある。 そして選んだ選択肢によって表示されるメッセージは ソースを選んだ場合は「洋風ですね」 しょうゆを選んだ場合は「和風ですね」 その他を選んだ場合は「何にしよう?」 となっている。 ちなみに師範はしょうゆ派なので、お手本の方では 変数$sentakuに「しょうゆ」が代入されている。 そして条件分岐のifのところでは、最初の条件には当てはまらないが、 その次の条件 $sentaku eq "しょうゆ" を満たしているので、 表示結果は「和風ですね」となる。 第11講につづく --------------------------------------------------------------------- 発行人: 塚田 伊助 発行所: 伊助の鍛錬場 http://isukenet.s20.xrea.com/ 連絡先: isuke_tukada@hotmail.com
もどる