Steve McKay > Parse-Tokens-0.27 > Parse::Tokens

Download:
Parse-Tokens-0.27.tar.gz

Dependencies

Annotate this POD

Related Modules

Parse::RecDescent
Data::Dumper
Text::Balanced
Text::ParseWords
Text::DelimMatch
HTML::Parser
more...
By perlmonks.org
View/Report Bugs
Module Version: 0.27   Source  

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).

syntax highlighting: