package PPI::Token::QuoteLike::Words; =pod =head1 NAME PPI::Token::QuoteLike::Words - Word list constructor quote-like operator =head1 INHERITANCE PPI::Token::QuoteLike::Words isa PPI::Token::QuoteLike isa PPI::Token isa PPI::Element =head1 DESCRIPTION A C 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}; =head1 METHODS =cut use strict; use PPI::Token::QuoteLike (); use PPI::Token::_QuoteEngine::Full (); use vars qw{$VERSION @ISA}; BEGIN { $VERSION = '1.206'; @ISA = qw{ PPI::Token::_QuoteEngine::Full PPI::Token::QuoteLike }; } =pod =head2 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. =begin testing literal 16 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 ); } 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, ); my @literal = $token->literal; is( scalar @literal, scalar @expected, qq ); for (my $x = 0; $x < @expected; $x++) { is( $literal[$x], $expected[$x], qq ); } } =end testing =cut sub literal { my $self = shift; my $content = $self->content; $content = substr( $self->content, 3, length($content) - 4 ); return split ' ', $content; } 1; =pod =head1 SUPPORT See the L in the main module. =head1 AUTHOR Adam Kennedy Eadamk@cpan.orgE =head1 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. =cut