Adam Kennedy > PPI-1.206 > PPI::Token::QuoteLike::Words

Download:
PPI-1.206.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  40
Open  29
View Bugs
Report a bug
Module Version: 1.206   Source  

NAME ^

PPI::Token::QuoteLike::Words - Word list constructor quote-like operator

INHERITANCE ^

  PPI::Token::QuoteLike::Words
  isa PPI::Token::QuoteLike
      isa PPI::Token
          isa PPI::Element

DESCRIPTION ^

A PPI::Token::QuoteLike::Words object represents a quote-like operator that acts as a constructor for a list of words.

  # Create a list for a significant chunk of the alphabet
  my @list = qw{a b c d e f g h i j k l};

METHODS ^

literal

Returns the words contained. Note that this method does not check the context that the token is in; it always returns the list and not merely the last element if the token is in scalar context.

my $empty_list_document = PPI::Document->new(\<<'END_PERL'); qw// qw/ / END_PERL

isa_ok( $empty_list_document, 'PPI::Document' ); my $empty_list_tokens = $empty_list_document->find('PPI::Token::QuoteLike::Words'); is( scalar @{$empty_list_tokens}, 2, 'Found expected empty word lists.' ); foreach my $token ( @{$empty_list_tokens} ) { my @literal = $token->literal; is( scalar @literal, 0, qq<No elements for "$token"> ); }

my $non_empty_list_document = PPI::Document->new(\<<'END_PERL'); qw/foo bar baz/ qw/ foo bar baz / END_PERL my @expected = qw/ foo bar baz /;

isa_ok( $non_empty_list_document, 'PPI::Document' ); my $non_empty_list_tokens = $non_empty_list_document->find('PPI::Token::QuoteLike::Words'); is( scalar @{$non_empty_list_tokens}, 2, 'Found expected non-empty word lists.', ); foreach my $token ( @{$non_empty_list_tokens} ) { my $literal = $token->literal; is( $literal, scalar @expected, qq<Scalar context literal() returns the list for "$token">, ); my @literal = $token->literal; is( scalar @literal, scalar @expected, qq<Element count for "$token"> ); for (my $x = 0; $x < @expected; $x++) { is( $literal[$x], $expected[$x], qq<Element $x of "$token"> ); } }

SUPPORT ^

See the support section in the main module.

AUTHOR ^

Adam Kennedy <adamk@cpan.org>

COPYRIGHT ^

Copyright 2001 - 2009 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.