PPIx::Utilities::Statement.3pm

Langue: en

Version: 2010-03-14 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

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

VERSION

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

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 "use constant" or Readonly declaration statement, returns the names of the things being defined. If called in scalar context, return the number of names 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' );
 
 

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 (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.