---
name: "PPIx::Utilities::Statement"
section: "3pm"
platform: "linux"
package: "perl-ppix-utilities"
version: "1.001000-10"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/PPIx::Utilities::Statement"
---

# PPIx::Utilities::Statement(3pm)

Extensions to PPI::Statement.

## NAME

PPIx::Utilities::Statement - Extensions to PPI::Statement.

## VERSION

This document describes PPIx::Utilities::Statement version 1.1.0.

## SYNOPSIS

```
    use PPI::Document qw< >;
    use PPIx::Utilities::Statement qw<
        get_constant_name_elements_from_declaring_statement
    >;
    my $document = PPI::Document->new(\'Readonly::Scalar my $THINGY => 47.2;');
    # Returns the PPI::Token::Symbol for "$THINGY".
    my ($constant) = get_constant_name_elements_from_declaring_statement(
        $document->schild(0)
    );
```

## DESCRIPTION

This is a collection of functions for dealing with PPI::Statements.

## INTERFACE

Nothing is exported by default.

### get\_constant\_name\_elements\_from\_declaring\_statement($statement)

Given a PPI::Statement, if the statement is a Readonly or Const::Fast declaration statement or a `"use constant"`, returns the names of the things being defined.

Given

```
    use constant 1.16 FOO => 'bar';
```

this will return the PPI::Token::Word containing `'FOO'`. Given

```
    use constant 1.16 { FOO => 'bar', 'BAZ' => 'burfle' };
```

this will return a list of the PPI::Tokens containing `'FOO'` and `'BAZ'`. Similarly, given

```
    Readonly::Hash my %FOO => ( bar => 'baz' );
```

or

```
    const my %FOO => ( bar => 'baz' );
```

this will return the PPI::Token::Symbol containing `'%FOO'`.

## BUGS AND LIMITATIONS

Please report any bugs or feature requests to `"bug-ppix-utilities@rt.cpan.org"`, or through the web interface at \<http://rt.cpan.org\>.

## AUTHOR

Thomas R. Wyant, III `"<wyant at cpan dot org>"`

## COPYRIGHT

Copyright (c) 2009-2010 Thomas R. Wyant, III.  All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.  The full text of this license can be found in the LICENSE file included with this module.
