| Config-Objective documentation | Contained in the Config-Objective distribution. |
Config::Objective::Boolean - boolean data type class for Config::Objective
use Config::Objective;
use Config::Objective::Boolean;
my $conf = Config::Objective->new('filename', {
'boolobj' => Config::Objective::Boolean->new()
});
The Config::Objective::Boolean module provides a class that represents a boolean value in an object so that it can be used with Config::Objective. Its methods can be used to manipulate the encapsulated boolean value from the config file.
The Config::Objective::Boolean class is derived from the Config::Objective::DataType class, but it defines/overrides the following methods:
Sets the object's value to the supplied value. The value must be one of the following: "yes", "no", "on", "off", "true", "false", 1, or 0.
Returns true if the argument equals the object's value. If the argument is not defined, it is treated as if it were true.
Mark D. Roth <roth@uiuc.edu>
| Config-Objective documentation | Contained in the Config-Objective distribution. |
### ### Copyright 2002-2003 University of Illinois Board of Trustees ### Copyright 2002-2003 Mark D. Roth ### All rights reserved. ### ### Config::Objective::Boolean - boolean data type for Config::Objective ### ### Mark D. Roth <roth@uiuc.edu> ### Campus Information Technologies and Educational Services ### University of Illinois at Urbana-Champaign ### package Config::Objective::Boolean; use strict; #use overload # 'bool' => \&get # ; use Config::Objective::DataType; our @ISA = qw(Config::Objective::DataType); ############################################################################### ### utility function to interpret boolean values ############################################################################### sub _boolean { my ($self, $value) = @_; if (!defined($value) || $value =~ m/^(yes|on|true|1)$/i) { return 1; } elsif ($value =~ m/^(no|off|false|0)$/i) { return 0; } die "non-boolean value '$value' specified for boolean variable\n"; } ############################################################################### ### set method ############################################################################### sub set { my ($self, $value) = @_; # print "==> Boolean::set($value)\n"; $self->{'value'} = $self->_boolean($value); } ############################################################################### ### equals method ############################################################################### sub equals { my ($self, $value) = @_; return ($self->{'value'} == $self->_boolean($value)); } ############################################################################### ### cleanup and documentation ############################################################################### 1; __END__