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にして実行してみると、
全部結果は「あたり」になります。
まぁあとは「;」が付かないところが出てきたので、注意しないといけませんね。
♪ 結果表示 ♪
これもハズレ
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||