in reply to Booleans from flip-flops
There are two boolean values: true and false. Perl doesn't have a single way of representing either. 1E0 is true.
Many ops return dualvar(1,'1') for true and dualvar(0,'') for false, but the flip-flop goes beyond that to increase usefulness.
While it is a number, 1E0 is stored as a string (not a float) to make it distinguishable from 1.
$ perl -MScalar::Util=looks_like_number \ -le'print looks_like_number("1E0")?1:0' 1 $ perl -le'print for 1E0, "1E0"' 1 1E0
(By the way, looks_like_number used 4 for true in my test.)
The reason for returning ...E0 is documented.
Update: Added code example
|
|---|