gawk: Truth Values

 
 6.3.1 True and False in 'awk'
 -----------------------------
 
 Many programming languages have a special representation for the
 concepts of "true" and "false."  Such languages usually use the special
 constants 'true' and 'false', or perhaps their uppercase equivalents.
 However, 'awk' is different.  It borrows a very simple concept of true
 and false from C. In 'awk', any nonzero numeric value _or_ any nonempty
 string value is true.  Any other value (zero or the null string, '""')
 is false.  The following program prints 'A strange truth value' three
 times:
 
      BEGIN {
         if (3.1415927)
             print "A strange truth value"
         if ("Four Score And Seven Years Ago")
             print "A strange truth value"
         if (j = 57)
             print "A strange truth value"
      }
 
    There is a surprising consequence of the "nonzero or non-null" rule:
 the string constant '"0"' is actually true, because it is non-null.
 (d.c.)