phpman > perldoc > Template::Namespace::Constants(3pm)

Markdown | JSON | MCP    

NAME
    Template::Namespace::Constants - Compile time constant folding

SYNOPSIS
        # easy way to define constants
        use Template;

        my $tt = Template->new({
            CONSTANTS => {
                pi => 3.14,
                e  => 2.718,
            },
        });

        # nitty-gritty, hands-dirty way
        use Template::Namespace::Constants;

        my $tt = Template->new({
            NAMESPACE => {
                constants => Template::Namespace::Constants->new({
                    pi => 3.14,
                    e  => 2.718,
                },
            },
        });

DESCRIPTION
    The "Template::Namespace::Constants" module implements a namespace handler which is plugged into
    the "Template::Directive" compiler module. This then performs compile time constant folding of
    variables in a particular namespace.

METHODS
  new(\%constants)
    The new() constructor method creates and returns a reference to a new
    Template::Namespace::Constants object. This creates an internal stash to store the constant
    variable definitions passed as arguments.

        my $handler = Template::Namespace::Constants->new({
            pi => 3.14,
            e  => 2.718,
        });

  ident(\@ident)
    Method called to resolve a variable identifier into a compiled form. In this case, the method
    fetches the corresponding constant value from its internal stash and returns it.

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.

SEE ALSO
    Template::Directive

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-14 00:43 @216.73.216.200
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!