


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


NAME
       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.














2000-04-06                 perl v5.6.1                          1


