You really probably want to be using
my() instead, because
local() isn't what most people think of as "local". See "Private Variables via my()" in perlsub for details.
A local modifies the listed variables to be local to the enclosing block, file, or eval. If more than one value is listed, the list must be placed in parentheses. See "Temporary Values via local()" in perlsub for details, including issues with tied arrays and hashes.