=over =item my VARLIST X =item my TYPE VARLIST =item my VARLIST : ATTRS =item my TYPE VARLIST : ATTRS A L|/my VARLIST> declares the listed variables to be local (lexically) to the enclosing block, file, or L|/eval EXPR>. If more than one variable is listed, the list must be placed in parentheses. Note that with a parenthesised list, L|/undef EXPR> can be used as a dummy placeholder, for example to skip assignment of initial values: my ( undef, $min, $hour ) = localtime; Redeclaring a variable in the same scope or statement will "shadow" the previous declaration, creating a new instance and preventing access to the previous one. This is usually undesired and, if warnings are enabled, will result in a warning in the C category. The exact semantics and interface of TYPE and ATTRS are still evolving. TYPE may be a bareword, a constant declared with L|constant>, or L|/__PACKAGE__>. It is currently bound to the use of the L pragma, and attributes are handled using the L pragma, or starting from Perl 5.8.0 also via the L module. See L for details. =back