my $sth; for my $href (@array_of_hashrefs) { my @list = ('SELECT * FROM mytable WHERE', $href); my ($sql, @bind) = sql_interp @list; if (! defined $sth || $sth->{Statement} ne $sql) { $sth = $dbh->prepare($sql); } $sth->execute(@list); ###### <------ SAY WHAT?!!!!! $sth->fetchall_arrayref(); }