1 package Data::Query::ExprBuilder;
4 use Data::Query::Constants qw(DQ_OPERATOR DQ_VALUE);
11 Data::Query::ExprBuilder->new({
14 operator => { perl => $op },
17 (Scalar::Util::blessed($_)
18 && $_->isa('Data::Query::ExprBuilder'))
22 subtype => { perl => 'Scalar' },
25 } $_[2] ? @_[1,0] : @_[0,1]
30 } qw(+ - * / % ** << >> . < > == != lt le gt ge eq ne)),
33 $op => sub { die "Can't use operator $op on a ".ref($_[0]) }
39 bless({ %{$_[1]} }, (ref($_[0])||$_[0]));