Sagar R. Shah > Template-Plugin-EnvHash-1.06 > Template::Plugin::EnvHash

Download:
Template-Plugin-EnvHash-1.06.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 1.06   Source  

NAME ^

Template::Plugin::EnvHash - Environment Variable Hash for TT2

SYNOPSIS ^

 [% USE env = EnvHash %]
 [% env.SOME_ENV_VAR %]

DESCRIPTION ^

This is a trivial Template::Toolkit plugin to allow any template writer to suck environment variables into their template. I wrote it because i was sick of passing %ENV as one of the contents of the vars hash that i pass to the process method of Template.

NAMING ^

I've named this module EnvHash rather than Env because most Template::Plugin::X modules are wrappers around module X. Whereas this is not a wrapper around Perl's Env module. This is because the purpose of that module is to export environment variables into a package. I did not want to export environment variables into my template as environment variables as most environment variables tend to have capitalised names (by popular convention) and this might cause confusion with the tt2 style of using capitalised words for its control structure syntax.

Of course someone else might come along and not care about this, so i leave Template::Plugin::Env free for such a person.

USING ENVIRONMENT VARIABLES IN TEMPLATES ^

As well as this being a useful module for sucking in standard environment variables it also allows you to configure template via the environment.

Some might say using the environment variables to configure your template is dangerous, and in an uncontrolled environment i would agree. However if you have a controlled environment it can be incredibly useful. Say for example you quickly want to fire your usual apache server, but on a different port (perhaps because u want to test two sets of changes simultaneous, or perhaps just because someone else is using that port). Then using an environment variable to pass the port number can be quick dirty and useful.

Config files are generally better in the long run for most things, but as i say it can be useful in a controlled environment.

INSTALLATION ^

This module uses Module::Build for its installation. To install this module type the following:

  perl Build.PL
  ./Build
  ./Build test
  ./Build install

If you do not have Module::Build type:

  perl Makefile.PL

to fetch it. Or use CPAN or CPANPLUS and fetch it "manually".

KNOWN ISSUES ^

The curernt implementation simply blesses %ENV. This causes a problem for the environment variable $VERSION as this gets overwritten by the module's own $VERSION. I will change the implementation at some point, but do feel free to email me and hurry me along if this is stopping you from being able to use this module

Environment Variables with names begining with an underscore are not supported.

BUGS ^

To report a bug or request an enhancement use CPAN's excellent Request Tracker:

http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Template-Plugin-EnvHash

SOURCE AVAILABILITY ^

This source is part of a SourceForge project which always has the latest sources in svn.

http://sourceforge.net/projects/sagar-r-shah/

AUTHOR ^

Sagar R. Shah

COPYRIGHT ^

Copyright 2003-2007, Sagar R. Shah, All rights reserved

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

syntax highlighting: