attrs(3) Perl Programmers Reference Guide attrs(3) NAME attrs - set(7,n,1 builtins)/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 attributes. This pragma lets you set(7,n,1 builtins) and get attributes for subroutines. Setting attributes takes place at compile time(1,2,n); trying to set(7,n,1 builtins) 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(7,n,1 builtins) on a method subroutine (i.e. one marked with the method attribute above), perl ensures that any invocation of it implicitly locks its first argu- ment before execution. When set(7,n,1 builtins) on a non-method subroutine, perl ensures that a lock is taken on the subroutine itself before execu- tion. The semantics of the lock are exactly those of one explicitly taken with the "lock" operator immediately after the subroutine is entered. perl v5.8.5 2001-09-21 attrs(3)