my
my VARLIST
my TYPE VARLIST
my VARLIST : ATTRS
my TYPE VARLIST : ATTRS
A my
declares the listed variables to be local (lexically) to the enclosing block, file, or eval
. If more than one variable is listed, the list must be placed in parentheses.
The exact semantics and interface of TYPE and ATTRS are still evolving. TYPE may be a bareword, a constant declared with use constant
, or __PACKAGE__
. It is currently bound to the use of the 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 perlsub for details, and fields, attributes, and Attribute::Handlers.
Note that with a parenthesised list, undef
can be used as a dummy placeholder, for example to skip assignment of initial values:
my ( undef, $min, $hour ) = localtime;
© 1993–2016 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.20.2/functions/my.html