in reply to Composing a SQL statement

This may be slightly cleaner:
my @where; my @full_entries = grep { length } @entries; for (0..$#fields) { push @where, $fields[$_], $full_entries[$_] if defined($fields[$_] && $full_entries[$_]); } my $sql = "SELECT " . join(", ", ('?') x @fields) . " FROM HELP WHERE +(" . join(" AND ", ("? LIKE ?") x @fields) . ")"; $dbh->prepare($sql); $dbh->execute(@fields, @where);


[ar0n]