Scroll to navigation

constant::boolean(3pm) User Contributed Perl Documentation constant::boolean(3pm)

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.

BUGS

If you find the bug or want to implement new features, please report it at <http://rt.cpan.org/NoAuth/Bugs.html?Dist=constant-boolean>

AUTHOR

Piotr Roszatycki <dexter@cpan.org>

LICENSE

Copyright 2008, 2009 by Piotr Roszatycki <dexter@cpan.org>.

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>

2011-04-04 perl v5.38.2