Name

local

Synopsis

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 can 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, 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.

Get Perl in a Nutshell, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.