my $stmt = "SELECT * FROM table WHERE ... #execute... my $sqldata = $sth->fetchall_arrayref({}); my @events; for my $i ( 0 .. $#$sqldata ) { if ( $sqldata->[$i]{'col5'} eq $sqldata->[$i]{'col8'} ) { push ( @events, $sqldata->[$i]{'col1', 'col2', 'col3'} ); } } my $template = HTML::Template->new( filename => 'some.tmpl' ); $template -> param( events => \@events ); #etc...