Template::Parser(3pm) - phpMan

Command: man perldoc info search(apropos)  


Template::Parser(3)            User Contributed Perl Documentation            Template::Parser(3)



NAME
       Template::Parser - LALR(1) parser for compiling template documents

SYNOPSIS
           use Template::Parser;

           $parser   = Template::Parser->new(\%config);
           $template = $parser->parse($text)
               || die $parser->error(), "\n";

DESCRIPTION
       The "Template::Parser" module implements a LALR(1) parser and associated methods for
       parsing template documents into Perl code.

PUBLIC METHODS
   new(\%params)
       The "new()" constructor creates and returns a reference to a new "Template::Parser"
       object.

       A reference to a hash may be supplied as a parameter to provide configuration values.  See
       "CONFIGURATION OPTIONS" below for a summary of these options and Template::Manual::Config
       for full details.

           my $parser = Template::Parser->new({
               START_TAG => quotemeta('<+'),
               END_TAG   => quotemeta('+>'),
           });

   parse($text)
       The "parse()" method parses the text passed in the first parameter and returns a reference
       to a hash array of data defining the compiled representation of the template text,
       suitable for passing to the Template::Document new() constructor method. On error, undef
       is returned.

           $data = $parser->parse($text)
               || die $parser->error();

       The $data hash reference returned contains a "BLOCK" item containing the compiled Perl
       code for the template, a "DEFBLOCKS" item containing a reference to a hash array of sub-
       template "BLOCK"s defined within in the template, and a "METADATA" item containing a
       reference to a hash array of metadata values defined in "META" tags.

CONFIGURATION OPTIONS
       The "Template::Parser" module accepts the following configuration options.  Please see
       Template::Manual::Config for futher details on each option.

   START_TAG, END_TAG
       The START_TAG and END_TAG options are used to specify character sequences or regular
       expressions that mark the start and end of a template directive.

           my $parser = Template::Parser->new({
               START_TAG => quotemeta('<+'),
               END_TAG   => quotemeta('+>'),
           });

   TAG_STYLE
       The TAG_STYLE option can be used to set both START_TAG and END_TAG according to pre-
       defined tag styles.

           my $parser = Template::Parser->new({
               TAG_STYLE => 'star',     # [* ... *]
           });

   PRE_CHOMP, POST_CHOMP
       The PRE_CHOMP and POST_CHOMP can be set to remove any whitespace before or after a
       directive tag, respectively.

           my $parser = Template::Parser-E<gt>new({
               PRE_CHOMP  => 1,
               POST_CHOMP => 1,
           });

   INTERPOLATE
       The INTERPOLATE flag can be set to allow variables to be embedded in plain text blocks.

           my $parser = Template::Parser->new({
               INTERPOLATE => 1,
           });

       Variables should be prefixed by a "$" to identify them, using curly braces to explicitly
       scope the variable name where necessary.

           Hello ${name},

           The day today is ${day.today}.

   ANYCASE
       The ANYCASE option can be set to allow directive keywords to be specified in any case.

           # with ANYCASE set to 1
           [% INCLUDE foobar %]    # OK
           [% include foobar %]    # OK
           [% include = 10   %]    # ERROR, 'include' is a reserved word

   GRAMMAR
       The GRAMMAR configuration item can be used to specify an alternate grammar for the parser.
       This allows a modified or entirely new template language to be constructed and used by the
       Template Toolkit.

           use MyOrg::Template::Grammar;

           my $parser = Template::Parser->new({
               GRAMMAR = MyOrg::Template::Grammar->new();
           });

       By default, an instance of the default Template::Grammar will be created and used
       automatically if a "GRAMMAR" item isn't specified.

   DEBUG
       The DEBUG option can be used to enable various debugging features of the
       "Template::Parser" module.

           use Template::Constants qw( :debug );

           my $template = Template->new({
               DEBUG => DEBUG_PARSER | DEBUG_DIRS,
           });

AUTHOR
       Andy Wardley <abw AT wardley.org> <http://wardley.org/>

COPYRIGHT
       Copyright (C) 1996-2007 Andy Wardley.  All Rights Reserved.

       This module is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

       The main parsing loop of the "Template::Parser" module was derived from a standalone
       parser generated by version 0.16 of the "Parse::Yapp" module. The following copyright
       notice appears in the "Parse::Yapp" documentation.

           The Parse::Yapp module and its related modules and shell
           scripts are copyright (c) 1998 Francois Desarmenien,
           France. All rights reserved.

           You may use and distribute them under the terms of either
           the GNU General Public License or the Artistic License, as
           specified in the Perl README file.

SEE ALSO
       Template, Template::Grammar, Template::Directive



perl v5.16.3                                2012-01-13                        Template::Parser(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-04-16 09:13 @52.14.0.24 CrawledBy claudebot
Valid XHTML 1.0!Valid CSS!