in reply to By ref or by ..well..ref!

@loop_data and $loop_data are not the same. Use either:

my $loop_data=[ {Auction=>'Test1', ID=>'1'}, {Auction=>'Test2', ID=>'2'}, {Auction=>'Test3', ID=>'3'}, {Auction=>'Test4', ID=>'4'}, ]; $template->param(table1 => $loop_data);
or,
my @loop_data=( {Auction=>'Test1', ID=>'1'}, {Auction=>'Test2', ID=>'2'}, {Auction=>'Test3', ID=>'3'}, {Auction=>'Test4', ID=>'4'}, ); $template->param(table1 => \@loop_data);

Update: Ref. The fetchall_answer!, your commented out code should work if $sth is properly derived from a DBI connection object. The form of get_event_info() makes me think that you are not hitting the database or preparing and executing the statement. You may be looking for

my $arrayref = $dbi->selectall_arrayref("select statement from sql") $arrayref = convert_to_hashes( $arrayref); $template->param(table1 => $arrayref);
except that the rows do not appear as hashes in that call.

After Compline,
Zaxo