NAME
Parse::Tokens - class for parsing text with embedded tokens
SYNOPSIS
use Parse::Tokens;
@ISA = ('Parse::Tokens');
# overide SUPER::token
sub token
{
my( $self, $token ) = @_;
# $token->[0] - left bracket
# $token->[1] - contents
# $token->[2] - right bracket
# do something with the token...
}
# overide 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
.
FUNCTIONS
- 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.
- ether()
-
Event method that gets called when non-token text is encountered during parsing.
- flush()
-
Flush the template cash.
- loose_paring()
-
Allow any combination of delimiters to match. Default is turned of requiring exactly specified pair matches only.
- parse()
-
Run the parser.
- pre_parse()
-
Event method that gets called prior to parsing commencing.
- post_parse()
-
Event method that gets called after parsing has completed.
- push_delimiters()
-
Add a delimiter pair (array ref) to the list of delimiters.
- new()
-
Pass parameter as a hash reference. Options are: TEXT - a block of text; DELIMITERS - a array reference consisting of the left and right token delimiters (eg ['<?', '?>']); AUTOFLUSH - 0 or 1 (default). While these are all optional at initialization, both TEXT and DELIMITERS must be set prior to calling parse() or as parameters to parse().
- text()
-
Load text.
- token()
-
Event method that gets called when a token is encountered during parsing.
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 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).