package Tk::CWidget::Util::Boolean; use strict; use Carp; use vars qw($VERSION); $VERSION = "0.01"; require Exporter; our @ISA = qw(Exporter); our @EXPORT_OK = qw(IsTrue IsFalse TRUE FALSE); our %EXPORT_TAGS = ( functions => [qw/IsTrue IsFalse/], constants => [qw/TRUE FALSE/], all => [@EXPORT_OK] ); ## Intended for assignment purposes use constant { TRUE => 1, FALSE => 0 }; sub IsTrue { my $value = shift; return 1 if ($value && $value =~ /^\s*(1|t(rue|)|y(es|)|on)\s*$/i); return 0; } sub IsFalse { my $value = shift; return 1 if (! defined($value) || $value =~ /^\s*(0|f(alse|)|n(o|)|off)\s*$/i); return 0; }