NAME
   constant::boolean - Define TRUE and FALSE constants.

SYNOPSIS
     use constant::boolean;

     use File::Spec;

     sub is_package_exist {
       my ($package) = @_;
       return FALSE unless defined $package;
       foreach my $inc (@INC) {
           my $filename = File::Spec->catfile(
               split( /\//, $inc ), split( /\::/, $package )
           ) . '.pm';
           return TRUE if -f $filename;
       };
       return FALSE;
     };

     no constant::boolean;

DESCRIPTION
   Defines `TRUE' and `FALSE' constants in caller's namespace. You could
   use simple values like empty string or zero for false, or any non-empty
   and non-zero string value as true, but the `TRUE' and `FALSE' constants
   are more descriptive.

   It is virtually the same as:

     # double "not" operator is used for converting scalar to boolean value
     use constant TRUE => !! 1;
     use constant FALSE => !! '';

   The constants exported by `constant::boolean' are not reported by
   Test::Pod::Coverage, so it is more convenient to use this module than to
   define `TRUE' and `FALSE' constants by yourself.

   The constants can be removed from class API with `no constant::boolean'
   pragma or some universal tool like namespace::clean.

AUTHOR
   Piotr Roszatycki <[email protected]>

LICENSE
   Copyright 2008, 2009 by Piotr Roszatycki <[email protected]>.

   This program is free software; you can redistribute it and/or modify it
   under the same terms as Perl itself.

   See http://www.perl.com/perl/misc/Artistic.html