NAME
Parse::Tokens - class for parsing text with embedded tokens
SYNOPSIS
package MyParser;
use base 'Parse::Tokens';
MyParser->new->parse({
text => q{Hi my name is <? $name ?>.},
hash => {name=>'John Doe'},
delimiters => [['<?','?>']],
});
# override SUPER::token
sub token
{
my( $self, $token ) = @_;
# $token->[0] - left bracket
# $token->[1] - contents
# $token->[2] - right bracket
# do something with the token...
}
# override SUPER::token
sub ether
{
my( $self, $text ) = @_;
# do something with the text...
}
DESCRIPTION Parse::Tokens
provides a base class for parsing delimited strings from text blocks. Use Parse::Tokens
as a base class for your own module or script. Very similar in style to HTML::Parser
.
METHODS
- new()
-
Pass parameter as a hash reference. Options are specified in the getter/setter methods.
- flush()
-
Flush the template cash.
- parse()
-
Run the parser.
SETTER/GETTER METHODS
- autoflush()
-
Turn on autoflushing causing the template cash (not the text) to be purged before each call to parse();.
- delimiters()
-
Specify delimiters as an array reference pointing to the left and right delimiters. Returns array reference containing two array references of delimiters and escaped delimiters.
- debug()
-
Turn on debug mode. 1 is on, 0 is off.
- ether_callback()
-
Sets/gets the callback code reference for the 'ether' event.
- loose_paring()
-
Allow any combination of delimiters to match. Default is turned of requiring exactly specified pair matches only.
- post_callback()
-
Sets/gets the callback code reference for the 'post_parse' event.
- pre_callback()
-
Sets/gets the callback code reference for the 'pre_parse' event.
- push_delimiters()
-
Add a delimiter pair (array ref) to the list of delimiters.
- text()
-
Load text.
- token_callback()
-
Sets/gets the callback code reference for the 'token' event.
EVENT METHODS
- ether()
-
Event method that gets called when non-token text is encountered during parsing.
- post_parse()
-
Event method that gets called after parsing has completed.
- pre_parse()
-
Event method that gets called prior to parsing commencing.
- token()
-
Event method that gets called when a token is encountered during parsing.
HISTORY
- 0.26
-
Cleanup of internal documentation.
- 0.25
-
Added support for callbacks. Improved debug messaging. Fixed bug in delimiter assignment. Rearranged distribution files.
- 0.24
-
Added sample script and sample data.
- 0.23
-
Fixed pseudo bug relation to regular expression 'o' option. Aliased 'add_delimiters' to 'push_delimiters'. Misc internal changes.
- 0.22
-
Add push_delimiters method for adding to the delimiter array.
- 0.21
-
Add pre_parse and post_parse methods; add minimal debug message support.
- 0.20
-
Add multi-token support.
AUTHOR
Steve McKay, steve@colgreen.com
COPYRIGHT
Copyright 2000-2001 by Steve McKay. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl(1).
2 POD Errors
The following errors were encountered while parsing the POD:
- Around line 489:
'=item' outside of any '=over'
- Around line 522:
You forgot a '=back' before '=head1'