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 LICENSE Copyright 2008, 2009 by Piotr Roszatycki . 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