http://www.perlmonks.org?node_id=591123


in reply to get query string to HTML::Template

It sounds like you are having problems populating a LOOP data structure for use with HTML::Template. I also had problems finding information about how to do this, so I'm going to post some code that does it.. hope no one minds. I use something similar to this in an application of mine. $sth is a DBI database handle that is pulling data out of a MySQL database.
my @loop_data = (); while ( my @rw = $sth->fetchrow_array ) { my %row_data; $row_data{ID} = $rw[0]; $row_data{USERNAME} = $rw[1]; $row_data{TIME} = $rw[3]; push( @loop_data, \%row_data ); } $template->param( VIEW_DATA => \@loop_data ); print $template->output();
The template would look something like this:
<TMPL_LOOP NAME=VIEW_DATA> ID: <TMPL_VAR NAME=ID> <br> USERNAME: <TMPL_VAR NAME=USERNAME> <br> TIME: <TMPL_VAR NAME=TIME> <br> </TMPL_LOOP>
As for getting a list of all params that were passed to the CGI module, why? Normally you only want to deal with data you were expecting (aka, data that was passed as part of an HTML form, or data that was part of the spec for a web service). Trying to process data you weren't expecting tends to lead to Bad Things (tm).

HTH,
Lithron