for my $x (0, "0", 0.0, dualvar(0,1), dualvar(0,"0 "), '----------------', 1, "foo", "00", "0 ", undef, "", dualvar(1,0), "0.0", ) { print "$x before: ",is_zero($x),"\n"; my $y = ($x+1.1).$x; print "$x after: ",is_zero($x),"\n"; }