1PPIx::Utilities::StatemUesnetr(3C)ontributed Perl DocumePnPtIaxt:i:oUntilities::Statement(3)
2
3
4

NAME

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

VERSION

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

SYNOPSIS

12           use PPI::Document qw< >;
13
14           use PPIx::Utilities::Statement qw<
15               get_constant_name_elements_from_declaring_statement
16           >;
17
18           my $document = PPI::Document->new(\'Readonly::Scalar my $THINGY => 47.2;');
19
20           # Returns the PPI::Token::Symbol for "$THINGY".
21           my ($constant) = get_constant_name_elements_from_declaring_statement(
22               $document->schild(0)
23           );
24

DESCRIPTION

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

INTERFACE

29       Nothing is exported by default.
30
31   get_constant_name_elements_from_declaring_statement($statement)
32       Given a PPI::Statement, if the statement is a Readonly or Const::Fast
33       declaration statement or a "use constant", returns the names of the
34       things being defined.
35
36       Given
37
38           use constant 1.16 FOO => 'bar';
39
40       this will return the PPI::Token::Word containing 'FOO'.  Given
41
42           use constant 1.16 { FOO => 'bar', 'BAZ' => 'burfle' };
43
44       this will return a list of the PPI::Tokens containing 'FOO' and 'BAZ'.
45       Similarly, given
46
47           Readonly::Hash my %FOO => ( bar => 'baz' );
48
49       or
50
51           const my %FOO => ( bar => 'baz' );
52
53       this will return the PPI::Token::Symbol containing '%FOO'.
54

BUGS AND LIMITATIONS

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

AUTHOR

61       Thomas R. Wyant, III "<wyant at cpan dot org>"
62
64       Copyright (c) 2009-2010 Thomas R. Wyant, III.  All rights reserved.
65
66       This program is free software; you can redistribute it and/or modify it
67       under the same terms as Perl itself.  The full text of this license can
68       be found in the LICENSE file included with this module.
69
70
71
72perl v5.36.0                      2023-01-20     PPIx::Utilities::Statement(3)
Impressum