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


in reply to The difference between my and local

EPP also suggests you use 'local' when messing with variables in another module's namespace, but I can't think of a RL situation where that could be justified - why not just scope a local variable? Perhaps someone could enlighten me?
Well, an example.
%hash = ( one => "a\tb", two => chr(7) ); { use Data::Dumper; local $Data::Dumper::Useqq = 1; local $Data::Dumper::Terse = 1; print Dumper \%hash; }

This way you temporarily replace the value of settings, while perl resets them back to their original state afterwards.