Skip to Main Content
Perl in a Nutshell, 2nd Edition
book

Perl in a Nutshell, 2nd Edition

by Nathan Patwardhan, Ellen Siever, Stephen Spainhour
June 2002
Beginner content levelBeginner
759 pages
80h 42m
English
O'Reilly Media, Inc.
Content preview from Perl in a Nutshell, 2nd Edition

attributes

Replacement for attrs.pm that sets or gets the attributes of subroutines. Attributes are set at compile time. If an attribute is unrecognized, it will result in a fatal error. While the error is trappable, it will stop the compilation within an eval. You must be careful about naming your attributes; an attribute that’s all lowercase and not a built-in attribute will result in a warning (unless you use warnings “reserved”). An example of attributes is:

sub foo : method ;
    use attributes (  );    # Optional, to get subroutine declarations
    my @attrlist = attributes::get(\&foo);

The built-in attributes are:

locked

Setting this attribute is meaningful only when the subroutine or method will be called by multiple threads. When set on a method subroutine (i.e., one marked with the method attribute), 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 subroutine is entered.

method

Indicates that the referenced subroutine is a method. This has a meaning when taken together with the locked attribute. It also means that a subroutine so marked will not trigger the “Ambiguous call resolved as CORE::%s” warning.

lvalue

Indicates that the referenced subroutine is a valid lvalue and can be assigned to. The subroutine must return a ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Perl by Example, Fourth Edition

Perl by Example, Fourth Edition

Ellie Quigley
Perl Cookbook, 2nd Edition

Perl Cookbook, 2nd Edition

Tom Christiansen, Nathan Torkington
Perl in a Nutshell

Perl in a Nutshell

Nathan Patwardhan, Ellen Siever, Stephen Spainhour
Learning Perl, 7th Edition

Learning Perl, 7th Edition

Randal L. Schwartz, brian d foy, Tom Phoenix

Publisher Resources

ISBN: 0596002416Errata Page