http://www.perlmonks.org?node_id=493650


in reply to Shortcut operator for $a->{'b'}=$b if $b;

{ $hash{data} = $_ if defined ( local $_ = $something ); }

A simple if-block is not to be faulted but if you are going to use a single statement a large $something should come last; else it will obscure following logic.

With the above it is easy to forget to close a scope over the local.

Be well,
rir