boolean


SYNOPSIS
           use boolean;

           do &always if true;
           do &never if false;

           do &maybe if boolean($value)->isTrue;

       and:

           use boolean ':all';

           $guess = int(rand(2)) % 2 ? true : false;

           do &something if isTrue($guess);
           do &something_else if isFalse($guess);

       and:

           use boolean -truth;

           die unless ref(42 == 42) eq 'boolean';
           die unless ("foo" =~ /bar/) eq '0';

DESCRIPTION
       Most programming languages have a native "Boolean" data type.  Perl
       does not.

       Perl has a simple and well known Truth System. The following scalar
       values are false:

           $false1 = undef;
           $false2 = 0;
           $false3 = 0.0;
           $false4 = '';
           $false5 = '0';

       Every other scalar value is true.

       This module provides basic Boolean support, by defining two special
       objects: "true" and "false".

RATIONALE
       When sharing data between programming languages, it is important to
       support the same group of basic types. In Perlish programming
       languages, these types include: Hash, Array, String, Number, Null and
       Boolean. Perl lacks native Boolean support.

       Data interchange modules like YAML and JSON can now "use boolean" to
       encode/decode/roundtrip Boolean values.

FUNCTIONS
       This module defines the following functions:
           the value is the "false" object with the isFalse function described
           below.

       boolean($scalar)
           Casts the scalar value to a boolean value. If $scalar is true, it
           returns "boolean::true", otherwise it returns "boolean::false".

       isTrue($scalar)
           Returns "boolean::true" if the scalar passed to it is the
           "boolean::true" object. Returns "boolean::false" otherwise.

       isFalse($scalar)
           Returns "boolean::true" if the scalar passed to it is the
           "boolean::false" object. Returns "boolean::false" otherwise.

       isBoolean($scalar)
           Returns "boolean::true" if the scalar passed to it is the
           "boolean::true" or "boolean::false" object. Returns
           "boolean::false" otherwise.

METHODS
       Since true and false return objects, you can call methods on them.

       $boolean->isTrue
           Same as isTrue($boolean).

       $boolean->isFalse
           Same as isFalse($boolean).

USE OPTIONS
       By default this module exports the "true", "false" and "boolean"
       functions.

       The module also defines these export tags:

       :all
           Exports "true", "false", "boolean", "isTrue", "isFalse",
           "isBoolean"

   -truth
       You can specify the "-truth" option to override truth operators to
       return "boolean" values.

           use boolean -truth;
           print ref("hello" eq "world"), "\n";

       Prints:

           boolean

       "-truth" can be used with the other import options.

AUTHOR
       Ingy doet Net <ingy@cpan.org>
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017 Hurricane Electric. All Rights Reserved.