my $fields = [ qw(id name) ]; my $table = $dbh->selectall_arrayref(' select id, name from some_table '); my $select = $self->select_prep($fields, $table, $selected_id); # now "send" $select to HTML::Template #### # param might contain go_director=42 (id for the director) # or maybe go_genre=72 or go_writer=150 if (my ($choice) = grep /^go_/, param()) { my $query = $BOOK->get($choice); print make_table($dbh, $query, param($choice)); } #### select movie.id,movie.title,movie.year,movie.id as img from movie inner join director_xref on movie.id=director_xref.movie_id inner join director on director_xref.director_id = director.id where director.id= ? order by movie.year