| Attribute | Function |
|---|---|
lvalue |
Subroutine can be target of assignment. |
locked |
Perl ensures lock is acquired on subroutine itself before subroutine is entered. Can only be used by single thread at a time. |
method |
Prevents "Ambiguous call resolved as CORE::%s" warning. |
locked method |
Perl acquires lock on first argument (object) and method before execution. |
Named declarations:
sub NAME PROTO ATTRS
sub NAME ATTRS
sub NAME PROTO
sub NAME
Named definitions:
sub NAME PROTO ATTRS BLOCK
sub NAME ATTRS BLOCK
sub NAME PROTO BLOCK
sub NAME BLOCK
Examples
sub be_careful : locked method {
my $self = shift();
# Single entry operation here
}
my $population = 0;
sub population : lvalue {
$population;
}
population ++; # Should increment $population