Elliot Shank > PPIx-Utilities > PPIx::Utilities::Statement

Download:
PPIx-Utilities-1.001000.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  1
Open  0
View/Report Bugs
Module Version: 1.001000   Source  

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.

syntax highlighting: