my - declare and assign a local variable

- NAME
- SYNOPSIS
- DESCRIPTION

# NAME

my - declare and assign a local variable (lexical scoping)

# SYNOPSIS

my EXPR

my TYPE EXPR

my EXPR : ATTRS

my TYPE EXPR : ATTRS

# DESCRIPTION

A `my` declares the listed variables to be local (lexically) to the enclosing block, file, or `eval`. If more than one value is listed, the list must be placed in parentheses.

The exact semantics and interface of TYPE and ATTRS are still evolving. TYPE is currently bound to the use of `fields` pragma, and attributes are handled using the `attributes` pragma, or starting from Perl 5.8.0 also via the `Attribute::Handlers` module. See Private Variables via my() in the perlsub manpage for details, and the fields manpage, the attributes manpage, and the Attribute::Handlers manpage.

my - declare and assign a local variable