"=" は通常の代入演算子です。
代入演算子は C の場合と同様の働きをします。つまり、
$a += 2;
は、
$a = $a + 2;
と等価ですが、tie() のようなもので起こる左辺値の被参照による副作用が 2 回起こることはありません。他の代入演算も同様に働きます。以下のものが認識 されます:
**= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x=
グループ分けしてありますが、これらはいずれも代入演算子として同じ優先順位 となっています。
C と違って、代入演算子は有効な左辺値を作り出します。代入を修正することは、 代入を行なってから、その代入された変数を修正するのと同じことになります。 これは:
($tmp = $global) =~ tr [A-Z] [a-z];
ように何かのコピーを変更したいときに便利です。同じように、
($a += 2) *= 3;
は、
$a += 2; $a *= 3;
と等価となります。
Go to the first, previous, next, last section, table of contents.