sub AND { my $last; first {!($last = $_)} @_ or $last; } sub OR { my $last; first {($last = $_)} @_ and $last; } #### sub OR { @_ > 1 ? shift || OR(@_) : shift; } sub AND { @_ > 1 ? shift && AND(@_) : shift; }