I'm not sure exactly what you're asking, but I noticed some issues with your code, so I thought I would point them out and hopefully they'll help.

Your first code snippet is incorrect. You open your first filehandle and iterate over it, but you don't actually use it and then you last out of it to skip the useless iteration. The code is equivalent to this cleaner (and untested) version:

open NEW_TEMPLATE, "> $indx" or die "Cannot open ($indx) for writing: +$!"; # open the HTML template my $template = HTML::Template->new(filename => $indx_tem); # fill in some parameters in the template $template->param(Location => $Location); $template->param(Number => $Number); $template->param(word => $word); # print the template to file $template->output(print_to => *NEW_TEMPLATE);

Your second code snippet then reduces to something like the following:

open DB, "< $db" or die "Cannot open ($db) for reading: $!"; while (my $line = <DB>) { chomp $line; my ($word,$time,$Number,$Location) = split "\t",$line; if ($Number) { open FILE1, "> $indx" or die "Can't open $indx: $!"; # open the HTML template my $template = HTML::Template->new(filename => $indx_tem); # fill in some parameters in the template $template->param(Location => $Location); $template->param(Number => $Number); $template->param(word => $word); # print the template to file $template->output(print_to => *FILE1); close FILE1; print "finish$Number<br>"; } else { # do you need debugging if you don't use $Number? } } close DB;

Also, it's worth pointing out that iterating over the lines in the "DB" is probably not what you want as your template will only be updated with the last line of data.

Cheers,
Ovid

New address of my CGI Course.
Silence is Evil (feel free to copy and distribute widely - note copyright text)


In reply to Re: using HTML::Template to update a file by Ovid
in thread using HTML::Template to update a file by jonnyfolk

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.