---
name: "PPI::Token::Attribute"
section: "3pm"
platform: "linux"
package: "perl-ppi"
version: "1.291-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/PPI::Token::Attribute"
---

# PPI::Token::Attribute(3pm)

A token for a subroutine attribute

## NAME

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

## INHERITANCE

```
  PPI::Token::Attribute
  isa PPI::Token
      isa PPI::Element
```

## DESCRIPTION

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.

## METHODS

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

### identifier

The `"identifier"` attribute returns the identifier part of the attribute.

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

### parameters

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.

## SUPPORT

See the support section in the main module.

## AUTHOR

Adam Kennedy \<adamk@cpan.org\>

## COPYRIGHT

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.
