***HPクリエイターのためのCGI講座 第13回***
3.5 代入演算子

演習問題がここのページにあります。
今週中を目標に完成させてください。
(解答も同じページにありますが、まずは、自分自身でチャレンジしてくださいね)

代入演算子(=)については、これまでも出てきていますね。
変数に、数値や文字列をコピーします。
プログラムに不慣れな人は、
  $tst = $tst + 10;
のようなプログラム文を見ると、違和感を感じるでしょう。
今までの経験で = (イコール)は、等式として馴染んできましたからね。
しかし、Perlでは = (イコール)は代入文として働きます。
したがって、
  $tst = $tst + 10;
は、$tstへ$tstに10を加えたものを代入せよと言う命令になります。
この文を実行する前に$tstに5が入っていれば、この文の実行後は、$tstに15が代入されます。

  $tst = 5; #$tstには 5 が設定される
  $tst = $tst + 10; #$tstには 15 が設定される

代入文には、今まで説明してきたように単純に値をコピーするだけではなく、演算を同時におこなう代入文が多数存在します。
上記の例の
  $tst = $tst + 10;
と同じ、作用をする代入文で記述すると
  $tst += 10;
に書き換えることが可能です。

演算子 等価な式
= $a += $b; $a = $a + $b;
+= $a += $b; $a = $a + $b;
-= $a -= $b; $a = $a - $b;
*= $a *= $b; $a = $a * $b;
/= $a /= $b; $a = $a / $b;
%= $a %= $b; $a = $a % $b;
.= $a .= $; $a = $a . $;
x= $a x= $b; $a = $a x $b;
&&= $a &&= $b; $a = $a && $b;
||= $a ||= $b; $a = $a || $b;
&= $a &= $b; $a = $a & $b;
|= $a |= $b; $a = $a | $b;
^= $a ^= $b; $a = $a ^ $b;
<<= $a <<= $b; $a = $a << $b;
>>= $a >>= $b; $a = $a >> $b;


演習プログラムの虫食いのところを、色々変えて確認してみてください。


********************************************************************************
講師:ALK alk@arkland.co.jp
運営:アークランド(株) http://www.arkland.co.jp