perlquestion
punch_card_don
Monday Monks,
<p>
Why isn't my hash passed to TT for processing? When I run this, I get one iteration of the template html and with no values inserted.
<p>
In the script (snippet):
<code>
use DBI;
use Template;
#get users list from database
$sql = "SELECT user_id, ufname, ulname FROM users";
$sth = $dbh->prepare($sql) or die("Could not prepare!" . $dbh->errstr);
$sth->execute() or die("Could not execute!" . $dbh->errstr);
# build data structure
while (($user_id, $ufname, $ulname) = $sth->fetchrow_array()) {
$data{$user_id} = {
ufname => $ufname,
ulname => $ulname
}
}
$sth->finish;
#prep variables for TT
$vars = {
data => %data,
today => $today
};
$template_file = "./template/my_file.htm";
#process file
$template->process($template_file, $vars);
</code>
<br>
and in the template
<br>
<code>
Call list for [% today %]
<p>
[% FOREACH user IN data %]
Be sure to call [% user.ulname %], [% user.ufname %]
[% END %]
</code>
<p>
I suspect there's something wrong with the way I'm passing the data hash?
<p>
Thanks.
<br><br>
<font size=2>updated for typo in code unrelated to question</font>
<!-- Node text goes above. Div tags should contain sig only -->
<div class="pmsig"><div class="pmsig-396320">
<br><br><br><i><font face="verdana" size=2>Forget that fear of gravity,<br>
Get a little savagery in your life.</i>
</div></div>