Rechercher une page de manuel
PPI::Token::Quote.3pm
Langue: en
Version: 2008-05-14 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
NAME
PPI::Token::Quote - String quote abstract base classINHERITANCE
PPI::Token::Quote isa PPI::Token isa PPI::Element
DESCRIPTION
The "PPI::Token::Quote" class is never instantiated, and simply provides a common abstract base class for the four quote classes. In PPI, a ``quote'' is limited to only the quote-like things that themselves directly represent a string. (although this includes double quotes with interpolated elements inside them).The subclasses of "PPI::Token::Quote" are:
- '' - PPI::Token::Quote::Single
- "q{}" - PPI::Token::Quote::Literal
- "" - PPI::Token::Quote::Double
- "qq{}" - PPI::Token::Quote::Interpolate
The names are hopefully obvious enough not to have to explain what each class is here. See their respective pages for more details.
Please note that although the here-doc does represent a literal string, it is such a nasty piece of work that in PPI it is given the honor of its own token class (PPI::Token::HereDoc).
METHODS
string
The "string" method is provided by all four ::Quote classes. It won't get you the actual literal Perl value, but it will strip off the wrapping of the quotes.
# The following all return foo from the ->string method 'foo' "foo" q{foo} qq <foo>
# Prove what we say in the ->string docs my $Document = PPI::Document->new(\<<'END_PERL');
'foo'
``foo''
q{foo}
qq <foo> END_PERL isa_ok( $Document, 'PPI::Document' );
my $quotes = $Document->find('Token::Quote'); is( ref($quotes), 'ARRAY', 'Found quotes' ); is( scalar(@$quotes), 4, 'Found 4 quotes' ); foreach my $Quote ( @$quotes ) { isa_ok( $Quote, 'PPI::Token::Quote');
can_ok( $Quote, 'string' );
is( $Quote->string, 'foo', '->string returns ``foo'' for '
. $Quote->content );
}
literal
The "literal" method is provided by ::Quote:Literal and ::Quote::Single. This returns the value of the string as Perl sees it: without the quote marks and with "\\" and "\'" resolved to "\" and "'".
The "literal" method is not implemented by ::Quote::Double or ::Quote::Interpolate yet.
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.
POD ERRORS
Hey! The above document had some coding errors, which are explained below:- Around line 77:
- '=begin' only takes one parameter, not several as in '=begin testing string 15'
- Around line 98:
- =end testing without matching =begin. (Stack: [empty])
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre