cgi007 「条件分岐 if文(もし〜なら〜)」(04/11/29 Mon)

 

条件分岐ってのは、「条件によって分岐します」です。

まぁ説明するよりソース見た方が早いでしょう。

☆ 条件分岐 if ☆

#!/usr/local/bin/perl
$test = 1;
if($test == 1){
$moji = "ハズレ";
}
elsif($test == 2){
$moji = "これもハズレ";
}
else{
$moji = "あたり";
}
print "Content-type: text/html\n\n";
print $moji;
exit;

えっとですねぇもうハッキリ言えば決まりなんですよ。ルール。

日本語で言うところの、

「もし X が 1ならハズレ。でももし X が 2 ならこれもハズレ。あとはなんでもアタリにしよう。」

ってなるんですがね。

ちょっとずついきましょうか。

if( 条件 ) { やること }

が、基本形です。条件が成立した場合、右側の{ やること }を行います。

↑のソースだと、「$testが1なら、&mojiに、はずれを入れる。」

で、実際2行目で、$test = 1ってしてますから、当然結果は「はずれ」になります。

♪ 結果表示 ♪

ハズレ

そこで、

#!/usr/local/bin/perl
$test = 2;
if($test == 1){
$moji = "ハズレ";
}
elsif($test == 2){
$moji = "これもハズレ";
}
else{
$moji = "あたり";
}
print "Content-type: text/html\n\n";
print $moji;
exit;

2行目を $test = 2ってしてみると、ブラウザには「これもハズレ」って表示されます。

これは、3行目のif( 条件 )である「$test が 1なら」と合ってないので、素通りするんです。

条件が合った場合のみ{ やること }を行います。

今回は $testが2なので、2番目のelsif( $test == 2 )ってとこの「やること」が実行されたわけです。

で、気づいてると思いますが、「条件」でイコールが2つあります。

$test == 1

って。

これは、$test = 1 (イコール1個)は代入。

$test == 1 (イコール2個)は比較。

となります。

イコールが1個の時は$testに1を入れるわけですが、

イコールが2個だと、$testの中に入ってるものを見るだけです。

「$testの中は2かなぁ?」って感じで。

最後に、else(  )とありますが、これは、if( )でもelsif( )でも条件が当てはまらないものです。

例えば、2行目の$testを6とか7にして実行してみると、

全部結果は「あたり」になります。

まぁあとは「;」が付かないところが出てきたので、注意しないといけませんね。

♪ 結果表示 ♪

これもハズレ

 

★ Top ★

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送