Adam Kennedy > PPI-1.202_03 > PPI::Token::Word

Download:
PPI-1.202_03.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  40
Open  29
View Bugs
Report a bug
Module Version: 1.202_03   Source   Latest Release: PPI-1.207_01

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 ^

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.