Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: CGI::Application/HTML::Template problem

by kutsu (Priest)
on Jan 12, 2006 at 17:55 UTC ( #522765=note: print w/ replies, xml ) Need Help??

in reply to CGI::Application/HTML::Template problem

If you tryed to print "item" outside the template loop I bet it would print. This is because associate => $q is the same as doing $template->param(ITEM => $q->param('item')) for every param returned by cgi and TMPL_LOOPs introduce their own scope and can't use variables from outside the loop. If you set global_vars => 1 it should work.

Btw. in order to find I simplify your code by trying it without CGI::Application:

script: #!/usr/bin/perl use DBI; use HTML::Template; use CGI; my $q = CGI->new(); my $dbh = DBI->connect('DBI:Pg:dbname=testdb', '', ''); $dbh->{RaiseError} = 1; $aref = $dbh->selectall_arrayref( q/select foo, bar from test_table wh +ere id = ?/, { Slice => {} }, $q->param('id') ); $dbh->disconnect; my $template = HTML::Template->new(filename => 'test.tmpl', associate +=> $q, global_vars => 1); $template->param(TEST_LOOP => $aref); print $template->output(); template: id = <TMPL_VAR NAME=ID> <!--remove global_vars and only this first ID will print--> <TMPL_LOOP NAME=TEST_LOOP> <p> id: <TMPL_VAR NAME=ID> <br \> foo: <TMPL_VAR NAME=FOO> <br \> bar: <TMPL_VAR NAME=BAR> </p> </TMPL_LOOP>
Comment on Re: CGI::Application/HTML::Template problem
Select or Download Code
Replies are listed 'Best First'.
Re^2: CGI::Application/HTML::Template problem
by stonecolddevin (Vicar) on Jan 12, 2006 at 22:30 UTC
    global_vars was exactly what i was looking for...thanks so much kutsu, all!!!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://522765]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (7)
As of 2016-06-01 08:23 GMT
Find Nodes?
    Voting Booth?

    No recent polls found