in reply to Truth and Falsehood

You might want to add that for dualvars, it is the stringy part of the value which is tested for truthfulness.

use Scalar::Util 'dualvar'; dualvar(1, "0"); # false dualvar(0, "1"); # true