PPI::Token::Word.3pm

Langue: en

Version: 2008-05-14 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

PPI::Token::Word - The generic "word" Token

INHERITANCE

   PPI::Token::Word
   isa PPI::Token
       isa PPI::Element
 
 

DESCRIPTION

A "PPI::Token::Word" object is a PPI-specific representation of several different types of word-like things, and is one of the most common Token classes found in typical documents.

Specifically, it includes not only barewords, but also any other valid Perl identifier including non-operator keywords and core functions, and any include "::" separators inside it, as long as it fits the format of a class, function, etc.

METHODS

There are no methods available for "PPI::Token::Word" beyond those provided by its PPI::Token and PPI::Element parent classes.

We expect to add additional methods to help further resolve a Word as a function, method, etc over time. If you need such a thing right now, look at Perl::Critic::Utils.

literal

Returns the value of the Word as a string. This assumes (often incorrectly) that the Word is a bareword and not a function, method, keyword, etc. This differs from "content" because "Foo'Bar" expands to "Foo::Bar".

my @pairs = (         ``F'', 'F',
        ``Foo::Bar'', 'Foo::Bar',
        ``Foo'Bar'', 'Foo::Bar',
); while ( @pairs ) {         my $from = shift @pairs;
        my $to = shift @pairs;
        my $doc = PPI::Document->new( \``$from;'' );
        isa_ok( $doc, 'PPI::Document' );
        my $word = $doc->find_first('Token::Word');
        isa_ok( $word, 'PPI::Token::Word' );
        is( $word->literal, $to, ``The source $from becomes $to ok'' );
}

TO DO

- Add "function", "method" etc detector methods

SUPPORT

See the support section in the main module.

AUTHOR

Adam Kennedy <adamk@cpan.org> Copyright 2001 - 2008 Adam Kennedy.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

POD ERRORS

Hey! The above document had some coding errors, which are explained below:
Around line 70:
'=begin' only takes one parameter, not several as in '=begin testing literal 9'
Around line 87:
=end testing without matching =begin. (Stack: [empty])