Template::Plugin::SSI - Plugin to use SSI in Template Toolkit (wrapper for CGI::SSI)
[% USE SSI %] # virtual include of the file /foo/bar.inc.html [% SSI.include('virtual', '/foo/bar.inc.html') %] # file include of the file /foo/bar.inc.html [% SSI.include('file', '/var/www/html/foo/bar.inc.html') %] # execute a command [% SSI.exec('cmd', 'ls') %] # execute a cgi script [% SSI.exec('cgi', '/cgi-bin/foo.cgi') %] # set a config variable ('sizefmt', 'timefmt', or 'errmsg') [% SSI.config('timefmt', "%Y") %] # echo a set or environment variable # Environment Variable Examples: # DOCUMENT_URI - the URI of this document # DOCUMENT_NAME - the name of the current document # DATE_GMT - the same as 'gmtime' # DATE_LOCAL - the same as 'localtime' # FLASTMOD - the last time this script was modified [% SSI.echo('DATE_LOCAL') %] # set a local variable ($name = 'Corey') [% SSI.set('name', 'Corey') %] # print when 'index.html' was last modified [% SSI.flastmod('file', 'index.html') %] # print the file size of 'index.html' [% SSI.fsize('file', 'index.html') %]
A Template Toolkit Plugin that provides an easy way to include Apache's SSI within a template. (acts as a wrapper to CGI::SSI)
The plugin can be loaded via the familiar USE directive.
[% USE SSI %]
This creates a plugin object with the name of 'SSI'.
The following SSI directives have been implemented:
include($type, $filepath) - Include a file from within your template. ($type must be either 'virutal' or 'file')
# Apache SSI example: #<!--#include virtual="/footer.html" --> #<!--#include file="/var/www/html/footer.html" --> # # Template::Plugin::SSI example: # when using $type == 'virutal', $filepath is relative # + to the document being served [% SSI.include('virtual', '/path/to/file') %] # when using $type == 'file', $filepath is relative # + to the current directory [% SSI.include('file', '/var/www/path/to/file') %]
exec($type, $filepath) - Execute a file/cgi and print the output. ($type must be either 'cmd' or 'cgi')
# Apache SSI example: #<!--#exec cmd="ls" --> # # Template::Plugin::SSI example: # Output a list of files in the current directoy [% SSI.exec('cmd', 'ls') %]
config($var, $value) - Set a config variable ($var must be 'timefmt', 'errormsg' or 'sizefmt')
# Apache SSI example: #<!--#config timefmt="%A %B %d, %Y" --> #<!--#config errmsg="[Uh-oh]" --> # # Template::Plugin::SSI example: # Change all dates to only print the year # + timefmt uses the strftime() syntax [% SSI.config('timefmt', "%Y") %]
echo($var) - Echo an environment or previously set variable
# Apache SSI example: #<!--#echo var="DATE_LOCAL" --> # # Template::Plugin::SSI example: # Print the current date [% SSI.echo('DATE_LOCAL') %]
set($var, $val) - Set a local variable
# Apache SSI example: #<!--#set var="name" value="Corey" --> # # Template::Plugin::SSI example: # Set the variable "name" with the value "Corey" [% SSI.set('name', 'Corey') %]
flastmod($type, $filepath) - Print the modification date of $filepath ($type must be either 'virutal' or 'file')
# Apache SSI example: #<!--#flastmod file="index.html" --> # # Template::Plugin::SSI example: # Output when index.html was last modified [% SSI.flastmod('file', 'index.html') %]
fsize($type, $filepath) - Print the filesize of $filepath ($type must be either 'virutal' or 'file')
# Apache SSI example: #<!--#fsize file="index.html" --> # # Template::Plugin::SSI example: # Output the size of index.html [% SSI.fsize('file', 'index.html') %]
Corey Wilson E<lt>cwilson_a.t_sbgnet_d.o.t_comE<gt> Mike Kralec E<lt>mkralec_a.t_sbgnet_d.o.t_comE<gt> James Tolley E<lt>james_a.t_bitperfect_d.o.t_comE<gt> created CGI::SSI.
Copyright (C) 2005 Sinclair Broadcast Group
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Template::Plugin, CGI::SSI
To install Template::Plugin::SSI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Template::Plugin::SSI
CPAN shell
perl -MCPAN -e shell install Template::Plugin::SSI
For more information on module installation, please visit the detailed CPAN module installation guide.