#!/usr/bin/perl use CGI qw(:standard); my $q = CGI->new(); ## all your form data is now in $q use HTML::Template; my $template = HTML::Template->new( filename => '/path/to/file.tmpl' ); $q->param( -name => 'foo', -value => uc( $q->param( 'foo' ) ) ); ## change a parameter in-place $template->param( templatefoo => $q->param( 'foo' ), templatebar => $q->param( 'bar' ) ); # insert whichever form data you need into the template print $q->header(); print $template->output(); # and we're done