Imagine you wanted to write the output as a perl print statement: you could write:
my $name = "Dave";
my $user = "dpuu";
print <<HERE;
Hello, my name is $name
and my user name is $user
HERE
This will do variable interpolation on a set of lines.
If you want to separate the script and the flat-file, you can create a print-statement on the fly, using eval:
my $name="Dave";
my $user="dpuu";
my $text_file="User.htm";
my $text=`cat $text_file`;
eval "print <<HERE;\n$text\nHERE";
You want to be careful when putting this in a production environment: executing data files as code could introduce some security holes (or just very strange bugs). This script won't work with perl's -T option --Dave.