use strict; use warnings; use SQL::Abstract; my $sqla = SQL::Abstract->new; my @where = ( { status => 'Review' }, { status => [ 'Offered', 'Denied', 'Cancelled', 'Conditional Offer' ], sent_email => { '!=' => [ -and => undef, '0000-00-00' ] }, }, ); my ( $sql, @bind ) = $sqla->where( \@where ); say $sql; say for @bind; __END__