sub AND { $_ || return 0 for @_; 1 } sub OR { $_ && return 1 for @_; 0 } __END__ DB<1> p AND(0) 0 DB<2> p AND() 1 DB<3> p AND(1) 1 DB<4> p AND(undef, 2, 0, 'x') 0 DB<5> p OR(0) 0 DB<6> p OR() 0 DB<7> p OR(1) 1 DB<8> p OR(undef, 2, 0, 'x') 1