why don't you just create a html template and
use HTML::Template;
example of perl sciript:
#!/usr/bin/perl -wT
use strict;
use CGI;
use HTML::Template;
use CGI::Carp qw/fatalsToBrowser/;
my $default_puslapis = 'pradzia';
my $default_sritis = 'pagrindinis';
my $templ = 'data/pagrindinis/main.html';
my $q = new CGI;
if (grep { /application\/xhtml\+xml/ } $q->Accept ) {
print "Content-type: application/xhtml+xml\n\n";
} else {
print "Content-type: text/html;Charset=utf-8\n\n";
}
my $tmpl = HTML::Template->new(filename => $templ);
my $puslapis = $q->param('puslapis') || $default_puslapis;
$puslapis =~ /(\w+)/;
$puslapis = $1;
my $sritis = $q->param('sritis') || $default_sritis;
$sritis =~ /(\w+)/;
$sritis = $1;
if (-e "data/$sritis/$puslapis.html") {
undef local $/;
open my $f, "<data/$sritis/$puslapis.html";
my $content = <$f>;
close $f;
$tmpl->param('tekstas', $content);
} else {
$tmpl->param('tekstas', 'Klaida!');
...
and then you create 'data/pagrindinis/main.html'
where in html code you just add something like:
<TMPL_VAR NAME="tekstas">
in the place where you want $content to appear.
(all this code is from working example with some changes for you to see :-))