# perl-Math-Logic

**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 values, 0..100. 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.4### Distributions

#### openSUSE Tumbleweed