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'