SPUG: "Boolean" return values

Ronald J Kimball rjk-spug at tamias.net
Tue Oct 14 08:18:45 PDT 2008

On Tue, Oct 14, 2008 at 08:08:37AM -0700, Michael R. Wolf wrote:
> In practice, most strings are true.  I know of only 3 false strings:
>  1. '', the empty string
>  2. '0', the string containing only a single zero
>  3. "\000", the ASCII NUL character (AKA chr(0)).

There are only two false strings.  "\000" is true.

This is explained very succinctly in the documentation, specifically

  Truth and Falsehood

  The number 0, the strings '0' and '', the empty list "()", and
  "undef" are all false in a boolean context. All other values are
  true.  Negation of a true value by "!" or "not" returns a special
  false value.  When evaluated as a string it is treated as '', but as
  a number, it is treated as 0.


More information about the spug-list mailing list