in reply to Re: Scalar and void subroutines
in thread Scalar and void subroutines

  if (not defined wantarray) {
I try to use and, or, and not only for flow control to minimize the potential for precedence mishaps (e.g. not defined foo later being changed to not defined foo && defined bar when ! defined foo && defined bar was meant). It may look a little funny to have a ! before defined at first, but you do get used to it.