Seth Woolley's Man Viewer

attrs(3) - attrs - set/get attributes of a subroutine (deprecated) - man 3 attrs

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

attrs(3)               Perl Programmers Reference Guide               attrs(3)

       attrs - set(7,n,1 builtins)/get attributes of a subroutine (deprecated)

           sub foo {
               use attrs qw(locked method);

           @a = attrs::get(\&foo);

       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.

           Indicates that the invoking subroutine is a method.

           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

perl v5.8.5                       2001-09-21                          attrs(3)

References for this manual (incoming links)