=over =item my VARLIST X<my> =item my TYPE VARLIST =item my VARLIST : ATTRS =item my TYPE VARLIST : ATTRS A C<my> declares the listed variables to be local (lexically) to the enclosing block, file, or C<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 C<use constant>, or C<__PACKAGE__>. It is currently bound to the use of the C<fields> pragma, and attributes are handled using the C<attributes> pragma, or starting from Perl 5.8.0 also via the C<Attribute::Handlers> module. See L<perlsub/"Private Variables via my()"> for details, and L<fields>, L<attributes>, and L<Attribute::Handlers>. Note that with a parenthesised list, C<undef> can be used as a dummy placeholder, for example to skip assignment of initial values: my ( undef, $min, $hour ) = localtime; =back