in reply to Re^4: problem unless I use ".="
in thread problem unless I use ".="
Its not clear to me what the "avoiding dereferencing side effects" part of the documentation means exactly, however I feel pretty confident in saying that it isnt relevent here. When you do
$hash{key}.=$str;
there is no dereferencing going on. With
$hash->{key}.=$str;
there is, however it happens before the .= operator is involved, so it doesnt explain the special casing behaviour of .= and other mutator operators. It turns out that the documentation of this behaviour is not to be found in perlop, but rather in perlsyn (in the section Declarations):
Operators such as ++, --, +=, -=, and .=, that operate on undefined le +ft values such as: my $a; $a++; are also always exempt from such warnings.
Hope this clears things up for you.
|
|---|