NAME
Text::Tmpl - Templating system perl library
SYNOPSIS
use Text::Tmpl;
$context = new Text::Tmpl;
$return = $context->set_delimiters($opentag, $closetag);
$return = $context->register_simple($name, $coderef);
$return = $context->register_pair($isnamed, $open_name, $close_name, $coderef);
$return = $context->alias_simple($old_name, $new_name);
$return = $context->alias_pair($old_open_name, $old_close_name, $new_open_name, $new_close_name);
$return = $context->set_debug($debug_level);
$return = $context->set_strip($to_strip_or_not_to);
$return = $context->set_dir($directory);
$return = $context->set_value($name, $value);
$return = $context->set_values($hashref);
$subcontext = $context->loop_iteration($loop_name);
$output = $context->parse_file($template_filename);
$output = $context->parse_string($template);
$context->destroy();
DESCRIPTION
Design goals
simplicity, reusability, speed, complete separation of logic from formatting.
Feature set
variables, loops, conditionals, extensibility of tags, includes, arbitrary delimiters.
Usage
For starters, make sure you 'use Text::Tmpl'.
Each function is described below:
- new
-
This function initializes the library. It allocates and returns the "global" context structure, and also configures all of the default tag behavior.
- set_delimiters
-
This function lets you change the delimiters marking the beginning and end of a tag (by default, these are "<!--#" and "-->"), for the specified context.
- set_value
-
This function stores the name=value pair in the current context.
- set_values
-
This function dumps the name=value pairs from a hash reference into the current context.
- set_debug
-
This function sets the debugging level (from 0 = silent to 2 = verbose). Note that debugging output hasn't been written yet - this is just a placeholder.
- set_strip
-
This function enables or disables the newline stripping feature. If enabled, the parser removes a single newline (if present) from after any tag.
- set_dir
-
This function sets the directory where templates will be sought, both by parse_file and by the include tag. Search order is always current directory then this searched directory.
- loop_iteration
-
This function adds an iteration to the loop named loop_name, and returns a unique context for that loop iteration.
- parse_file
-
This function opens $template_filename, and parses the contents of that file as a template, returning the output.
- parse_string
-
This function parses template directly, in the same way that Text::Tmpl::parse_file does.
- register_simple
-
This function registers a new simple tag named $name, which when encountered will cause the parser to call $coderef. See template_extend(1) for the gory details.
- register_pair
-
This function registers a new tag pair $open_name/$close_name, which when encountered will cause the parser to call $coderef. See template_extend for the gory details.
- alias_simple
-
This function copies the definition of a simple tag, previously registered as $old_name, to also be called by $new_name.
- alias_pair
-
This function copies the definition of a tag pair, previously registered as $old_open_name/$old_close_name, to also be called by $new_open_name/$new_close_name.
- destroy
-
This function blows away all of the memory allocated within the given context. You should really only call this on the context returned by 'new Text::Tmpl', and only at the end of your code.
RETURN VALUES
All of the above functions which return numeric values will return 0 if they fail, or 1 otherwise. The ones which return contexts will return undef if they fail, or a valid pointer otherwise.
BUGS
Hopefully none.
AUTHOR
J. David Lowe, dlowe@pootpoot.com
SEE ALSO
libtmpl(1), template_syntax(1), template_extend(1)