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

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

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};

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"> ); } }

See the support section in the main module.

Adam Kennedy <adamk@cpan.org>

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.