[ Perl programs to create output data ]
V
[ Languages library in DB or textfiles ]
V
[ Template Toolkit templates to display output ]
####
#!/usr/bin/perl
# Includes
use strict;
use warnings;
use MyPackages;
use Template;
my $tt = Template->new({
INCLUDE_PATH => '/usr/local/templates',
INTERPOLATE => 1,
}) || die "$Template::ERROR\n";
my ($lang, $data) = &MyPackages::MyFunctions();
# Module above changed to return data, not HTML
# You're going to love deleting all that non-perl code!!!
# $data is { first_name => 'Joe', last_name => 'Bloe' }
$tt->process("${lang}/homepage.tmpl", $data)
|| die $tt->error(), "\n";
####
# in en/homepage.tmpl
Welcome $first_name $last_name
# or, if you set INTERPOLATE to 0
Welcome [% first_name %] [% last_name %]
# in es/homepage.tmpl
Bienvenido $first_name $last_name
# ...
####
# in single_template.tmpl
# Do not do this!
$welcome $first_name $last_name, $next_sentence.
$second_paragraph.
...