local vars
Declares one or more global variables
vars
to have temporary values within the innermost enclosing block, subroutine,
eval
, or file. The new value is initially
undef
for scalars and
()
for arrays and hashes. If more than one variable is listed, the list must be placed in parentheses, because the operator binds more tightly than a comma. All the listed variables must be legal lvalues, that is, something you could assign to. This operator works by saving the current values of those variables on a hidden stack and restoring them upon exiting the block, subroutine, or
eval
, or file.
Subroutines called within the scope of a local variable will see the localized inner value of the variable. The technical term for this process is "dynamic scoping." Use
my
for true private variables.
Copyright © 2001 O'Reilly & Associates. All rights reserved.