Hi, welcome to the world of perl CGI.

First off, your initial script doesn't need to use CGI. It just throws up a template, which is just a bunch of print statements mostly. Assuming your template is nicely formated HTML (it should be) you should not have the extra print statements at the end of your script:

print "<p>"; print "Good-bye Cruel World<br>\n";

Second, as the previous poster said, you have to make sure that your template has correct HTML in its form tag to point to your processing script. (I'm running with your idea to have seperate scripts, this is not a given, it can be all in one script...) A properly formated form tag might look like:

<form name="form" method="post" action="process.cgi" >

This script would grab your choice something like this:

use CGI; use strict; my $CGI = CGI->new; # this assumes the creating HTML has a option list called # my_menu my $report_num = $CGI->param("my_menu"); # do some stuff to lookup the report based on $report_num ... # output print header; my $t = HTML::Template->new( filename => 'nc1_rpt1_summary.tmpl' ); $t->param( foo => 'FakeDomain.com', stuff => "blah", morestuff => "foobar", %hashofstufffromDB, ); print $t->output;
That's the basic idea. There's a bit of work getting the details right (got to have the template var names match the key of the hash you pass into the HTML::Template object for example) you should do some sanity checking on the inputs, handle errors if things aren't as expected with the inputs and or the db access, etc.

You might want to start with a very simple script and a very simple template and build from there.

-------------------------------------
Nothing is too wonderful to be true
-- Michael Faraday


In reply to Re: HTML::Template, CGI, passing variables, launching new script by freddo411
in thread HTML::Template, CGI, passing variables, launching new script by Lori713

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.