Template::Namespace::Constants
Author: Andy Wardley

TT2 Home Page

- Modules
- Template::*
- Namespace::*
- Constants.pm

Click to view the menu. It's very nice. Click to hide the menu and go all widescreen!
BackAre you looking at my nuts? I spent ages foraging for them. Hands off! Up

#### Template::Namespace::* Modules

NextIf you are going to the next page, be sure to wear some flowers in your hair...

# Template::Namespace::Constants

## Compile time constant folding

# Contents

Top

# SYNOPSIS

Top

    # 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

Top

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

Top

## new(\%constants)

Top

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)

Top

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

Top

Andy Wardley <abw@wardley.org> http://wardley.org/

# COPYRIGHT

Top

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

Top

Template::Directive

/modules/Template/Namespace/Constants.html last modified 10:54:55 31-May-2007