This method is called with two fixed arguments, followed by the list of
attributes from the relevant declaration. The two fixed arguments are
the relevant package name and a reference to the declared subroutine or
variable. The expected return value as a list of attributes which were
not recognized by this handler. Note that this allows for a derived class
to delegate a call to its base class, and then only examine the attributes
which the base class didn't already handle for it.
<P>The call to this method is currently made <EM>during</EM> the processing of the
declaration. In particular, this means that a subroutine reference will
probably be for an undefined subroutine, even if this declaration is
actually part of the definition.</P>
<P></P></DL>
<P>Calling <A HREF="#item_get"><CODE>attributes::get()</CODE></A> from within the scope of a null package
declaration <CODE>package ;</CODE> for an unblessed variable reference will
not provide any starting package name for the 'fetch' method lookup.
Thus, this circumstance will not result in a method call for package-defined
attributes. A named subroutine knows to which symbol table entry it belongs
(or originally belonged), and it will use the corresponding package.
An anonymous subroutine knows the package name into which it was compiled
(unless it was also compiled with a null package declaration), and so it
will use that package name.</P>
<P>
<H2><A NAME="syntax of attribute lists">Syntax of Attribute Lists</A></H2>
<P>An attribute list is a sequence of attribute specifications, separated by
whitespace or a colon (with optional whitespace).
Each attribute specification is a simple
name, optionally followed by a parenthesised parameter list.
If such a parameter list is present, it is scanned past as for the rules
for the <A HREF="../lib/Pod/perlfunc.html#item_q"><CODE>q()</CODE></A> operator. (See <A HREF="../lib/Pod/perlop.html#quote and quotelike operators">Quote and Quote-like Operators in the perlop manpage</A>.)
The parameter list is passed as it was found, however, and not as per <A HREF="../lib/Pod/perlfunc.html#item_q"><CODE>q()</CODE></A>.</P>
<P>Some examples of syntactically valid attribute lists:</P>
<PRE>
switch(10,foo(7,3)) : expensive
Ugly('\(") :Bad
_5x5
locked method</PRE>
<P>Some examples of syntactically invalid attribute lists (with annotation):</P>
<PRE>
switch(10,foo() # ()-string not balanced
Ugly('(') # ()-string not balanced
5x5 # "5x5" not a valid identifier
Y2::north # "Y2::north" not a simple identifier
foo + bar # "+" neither a colon nor whitespace</PRE>