#!/usr/bin/perl use strict; use warnings; use SQL::Abstract; my $sql = SQL::Abstract->new; my %where = (); my @sql_interval = ( 'birthday', \'> DATE_SUB(CURDATE(), INTERVAL 20 YEAR)' ); push @sql_interval, ('birthday', \'< BLABLA()'); $where{-and} = \@sql_interval; my ($stmt, @bind) = $sql->select('defaultusers', 'birthday', \%where); print $stmt, "\n";