代入演算子

広告

代入演算子は演算子の左辺に対して右辺の値を代入する場合に使用される演算子です。単純に値を代入するだけではなく、何らかの計算を行った結果を代入する事も出来ます。

代表的なものとしては今までも使ってきた「=」です。「=」では右辺の値を左辺に代入します。

左辺 = 右辺;

この場合は右辺のある値を左辺に代入します。基本的には左辺には変数が記述され、右側には数値や文字列の他に別の変数を記述されます。

その他の代入演算子

代入演算子には「=」以外に他の算術演算子と組み合わせた演算子が用意されています。まず演算子の種類を確認しておきます。

演算子記述例意味
+=a += ba = a + b
-=a -= ba = a - b
*=a *= ba = a * b
/=a /= ba = a / b
%=a %= ba = a % b
**=a **= ba = a ** b
&=a &= ba = a & b
^=a ^= ba = a ^ b
|=a |= ba = a | b
<<=a <<= ba = a << b
>>=a >>= ba = a >> b

ある変数に対する演算の結果を変数に再度格納する場合に使用できます。例えば次のように使います。

my $var;

$var = 10;
$var += 5;

上記は次のように記述した場合と同じです。

my $var;

$var = 10;
$var = $var + 5;

他の演算子の場合も同様です。ある変数に対して何らかの演算を行った後で、同じ変数に格納し直す場合の簡易的な記述方法と考えて下さい。

また次のような演算子も用意されています。

演算子記述例意味
&&=a &&= b左辺がTrueの場合に右辺の値を左辺に代入
||=a ||= b左辺がFalseの場合に右辺の値を左辺に代入
.=a .= ba = a.b

「&&=」や「||=」については別のページで確認します。「.=」は右辺に書かれた文字列を左辺の文字列の最後に追加する場合の簡易的な記述方法です。

サンプルプログラム

では簡単なプログラムで確認して見ます。

test5-1.pl

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my $var;

$var = 9;
$var += 5;

print "$var¥n";

$var /= 2;
print "$var¥n";

上記を「test5-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。

代入演算子

( Written by Tatsuo Ikura )