NAME

HTML::DynamicTemplate - HTML template class.

SYNOPSIS

  use HTML::DynamicTemplate;
  my $template = new HTML::DynamicTemplate 'path/to/template';
  $template->set_recursion_limit($integer);
  $template->set(NAME => $value);
  $template->set(NAME_1 => $value_1,
                 NAME_2 => $value_2,
                 NAME_3 => $value_3);

  $template->clear();
  $template->render();
  $template->render(@variables);

  path/to/template
  ----------------
  <html>
  <body>
  <h1>$HEADING</h1>

  <p><font color="$HIGHLIGHT_COLOR">This is standard HTML with
  arbitrary embedded variable references which are substituted
  with actual values when the template is rendered.</font></p>

  <p>Template variables may be set within the template itself
  with the special $SET directive. This is useful when setting
  variables for use by included templates. Example:
  $SET(PAGE_TITLE, "What's New"). Note: Be sure to escape
  quotes (&quot;) and closing parantheses (&#41;) as HTML
  entities.</p>

  <p>Additionally, templates may be recursively included by
  specifying a template with the special $INCLUDE directive.
  Example: $INCLUDE(templates/example.tmpl). Template paths may
  be variable references as in $INCLUDE($EXAMPLE_FILE). Note:
  Any variable references found in included templates will be
  substituted as in the original template.

  <p>Usage note: variable and directive names are always
  specified in uppercase.</p>

  </body>
  </html>

DESCRIPTION

The HTML::DynamicTemplate is a class implementing a HTML template in perl. Significant features include the ability to set template variables from within the template itself, the ability to recursively include other templates, and the ability to selectively render a specified subset of variables.

METHODS

$template = new HTML::DynamicTemplate $template_filename;

Constructor for the template. Returns a reference to a HTML::DynamicTemplate object based on the specified template file.

$template->set_recursion_limit($integer);

A default recursion limit for template includes is implemented to prevent infinite recursions. Use this method to override the default value (10).

$template->set(NAME => $value);

Sets template variable to given value.

$template->clear();

Clears template variables. Useful when processing table row templates.

$template->render();

Renders template by performing variable substitutions.

$template->render(@variables);

Renders template by performing variable substitutions on only those variable names specified in @variables.

AUTHOR

Copyright (c) 1999 Brian Ng. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Created May 10, 1999 by Brian Ng <brian@m80.org>.

Based on original work by Brian Slesinsky.