attrs - set/get attributes of a subroutine (deprecated)
SYNOPSIS
sub foo {
use attrs qw(locked method);
...
}
@a = attrs::get(\&foo);
DESCRIPTION
NOTE: Use of this pragma is deprecated. Use the syntax
sub foo : locked method { }
to declare attributes instead. See also the attributes
manpage.
This pragma lets you set and get attributes for subrou
tines. Setting attributes takes place at compile time;
trying to set invalid attribute names causes a compile-
time error. Calling `attrs::get' on a subroutine reference
or name returns its list of attribute names. Notice that
`attrs::get' is not exported. Valid attributes are as
follows.
method
Indicates that the invoking subroutine is a method.
locked
Setting this attribute is only meaningful when the
subroutine or method is to be called by multiple
threads. When set on a method subroutine (i.e. one
marked with the method attribute above), perl ensures
that any invocation of it implicitly locks its first
argument before execution. When set on a non-method
subroutine, perl ensures that a lock is taken on the
subroutine itself before execution. The semantics of
the lock are exactly those of one explicitly taken
with the `lock' operator immediately after the subrou
tine is entered.
Man(1) output converted with
man2html