in reply to how to "rename" a global argument in subroutine?

Note that Perl (implicitly) passes parameters by reference. From perlsub:

The array @_ is a local array, but its elements are aliases for the actual scalar parameters. In particular, if an element $_[0] is updated, the corresponding argument is updated (or an error occurs if it is not updatable).
  • Comment on Re: how to "rename" a global argument in subroutine?