|
|
|
Perl基礎講座(2) 制御構造 if文について説明します。 ある式や、ある値をもとにプログラムの流れを作っていくための文です。 もしさぁ、こうだったら、こうしなさいよ。 ということを書いていくわけです。 スクリプトの書き方は if (式) { }というように書きます。 if(もし) 式がtrue(真)であるなら、ブレース{ } 内の文を実行です。 実際に書くとこうなります。 if ($a == 0) { print "value is 0"; }条件に合致する条件、$aが0であったら、value is 0と表示します。 もし 〜ならば〜 {ブレース}というのを覚えてください。 前回、$a = $b;($a に$bの値を代入)という風に基礎講座(1)で書きましたが、 if文内でのイコールは=ではなくて、==と書くことに注意してくださいね。 この章の一番下に、この「比較」をするための演算子一覧をつけておきますので、 後で目を通してください。
if1つだけでは制御ができなくなるので、elsifやelseを使います。 上の条件で合致するスクリプトはこのように書くことができます。 if ($a == 0 ) { print "value is 0"; } elsif ($a == 2 ) { print "value is 2"; } else { print "value error"; }第一の条件式ifが合致しなければ、elsif文が実行される。 それでも条件に合致しなければ、else { ブレース } になる、という流れです。 unless文ではこの意味が逆になり、もし「真」でなければ〜をせよ という制御を行うことができます。 unless ($a == 0 ) { print "value isn't 0"; }$aが0で「なければ」 value isn't 0と表示されるわけです。 ただし、unlessの場合は、ifのelsifにあたるようなものがありません。 比較演算子、といわれても?かもしれません。 先ほど書いた == というのも「比較演算子」の1つであり、右辺と左辺を「比較」して 等しいということを演算して、等しければ真を返すなどといった条件式に使われます。 ==は右辺と左辺が「数値」として比較して等しければ真、ということで、 文字列として比較したい場合は文字列を比較するための比較演算子 eqを使います。 $a ="aiueo" if ($a eq "kakikukeko") { print "a is kakikukeko"; } elsif ($a eq "aiueo") { print "a is aiueo"; } else { print "value not scopes.."; } 「演算子にはイロイロな種類があります」が、 まずはこの比較演算子を覚えましょう。
それ以外ではあまり使いません。 真なのか、偽なのかこれでプログラムは条件によって 進行していきます。 制御構造文if、比較演算子==などを使用して、試してみてください。 言語ごとに書き方が変わったりしますが、この制御構造はプログラムへ踏み出すための 第一歩の部分でとても重要です。 |