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