in reply to Problem using HTML::Template.

You have a number of potention pitfalls in this script. The first is that you are not correctly using HTML::Template by generating HTML that should be encapsulated into a template file. A good rule of thumb is, if you print any HTML in your script whatsoever, such as
$Template->param(Results => "<p>Results: $shtuff<\/p>");
or
print <<HTMLSTUFF; <html> <head> <title>No file</title> ...
you are using it wrong. To correct the first example, only pass a variable (such as the less offensive $shtuff scalar) and do not pass any HTML - the template should contain the markup, not the script. To correct the second example, place everything in the heredoc into a template file.

Also, this:

my $Template = HTML::Template->new( filename => '../Template/Search_Engine.tmpl' );
is very non-portable. You specify a full path to the file instead of using dot dot.

Please read HTML::Template Tutorial - it will take you less time to read it then it took me to write it, and you will be better off after having worked through the examples it presents.

Last note, this:

#The secret ingredient! use lib "../lib"; use HTML::Template;
Is a non-portable hack that can be improved by reading A Guide to Installing Modules, specifically this section.

jeffa

L-LL-L--L-LL-L--L-LL-L--
-R--R-RR-R--R-RR-R--R-RR
B--B--B--B--B--B--B--B--
H---H---H---H---H---H---
(the triplet paradiddle with high-hat)