my @frames; my $query = $dbh->prepare("SELECT idFrame, name, colour FROM Frame"); $query->execute(); while (my ($id, $name, $colour) = $query->fetchrow_array) { my $frame = { 'image' => 'test_thumb.jpg', 'id' => $id, 'name' => $name, 'colour' => $colour, }; push @frames, $frame; } my $vars = { 'frames' => \@frames, }; $template->process("admin_frames.tt", $vars);