Provides pure 2, 3 or multi-value logic
Perl's built-in logical operators, 'and', 'or', 'xor' and 'not' support
2-value logic. This means that they always produce a result which is either
true or false. In fact perl sometimes returns 0 and sometimes returns undef
for false depending on the operator and the order of the arguments. For
"true" Perl generally returns the first value that evaluated to true which
turns out to be extremely useful in practice. Given the choice Perl's
built-in logical operators are to be preferred -- but when you really want
pure 2-degree logic or 3-degree logic or multi-degree logic they are
available through this module.
The only 2-degree logic values are 1 (TRUE) and 0 (FALSE).
The only 3-degree logic values are 1 (TRUE), 0 (FALSE) and -1 (UNDEF). Note
that UNDEF is -1 _not_ 'undef'!
The only multi-degree logic values are 0 (FALSE)..'-degree' -- the value of
TRUE is equal to the degree, usually 100.
The '-degree' is the maximum value (except for 2 and 3-degree logic); i.e.
logic of _n_-degree is _n+1_-value logic, e.g. 100-degree logic has 101
Although some useful constants may be exported, this is an object module
and the results of logical comparisons are Math::Logic objects.
There is no official package available for openSUSE Leap 15.5