#pseudo code my @calauses; my $dbh = $c->model("TEST_DBI")->dbh() my $sth; if ($query_name = a){ ...... # build query statement and where clauses; ...... } elsif( $query_name == b) { ..... #ditto ..... } .... .... else{ #do nothing } $sth->prepare($statement) ........ #forward to view .......