use SQL::Abstract; my $sql = SQL::Abstract->new; my %where = ( name => 'smith', salary => {'>', 50000}, department => { 'not like', 'eng%' } ); my($stmt, @bind) = $sql->select($table, *, \%where, \@order);