PPIx::Utilities::Statement - Extensions to L<PPI::Statement|PPI::Statement>. |
PPIx::Utilities::Statement - Extensions to PPI::Statement.
This document describes PPIx::Utilities::Statement version 1.1.0.
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) );
This is a collection of functions for dealing with PPI::Statements.
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'
.
Please report any bugs or feature requests to
bug-ppix-utilities@rt.cpan.org
, or through the web interface at
http://rt.cpan.org.
Thomas R. Wyant, III <wyant at cpan dot org>
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.
PPIx::Utilities::Statement - Extensions to L<PPI::Statement|PPI::Statement>. |