[ 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. ...