PPI::Token::Attribute - A token for a subroutine attribute


  isa PPI::Token
      isa PPI::Element


In Perl, attributes are a relatively recent addition to the language.

Given the code sub foo : bar(something) {} , the bar(something) part is the attribute.

A PPI::Token::Attribute token represents the entire of the attribute, as the braces and its contents are not parsed into the tree, and are treated by Perl (and thus by us) as a single string.


This class provides some additional methods beyond those provided by its PPI::Token and PPI::Element parent classes.


The identifier attribute returns the identifier part of the attribute.

That is, for the attribute foo(bar), the identifier method would return "foo".


The parameters method returns the parameter string for the attribute.

That is, for the attribute foo(bar), the parameters method would return "bar".

Returns the parameters as a string (including the null string '' for the case of an attribute such as foo().)

Returns undef if the attribute does not have parameters.


See the support section in the main module.


Adam Kennedy <>


Copyright 2001 - 2011 Adam Kennedy.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.