Steve Vertigan
2006-09-16 00:45:57 UTC
I have the following method in a module I'm writing...
sub uses {
my $self = shift; my $var = shift;
if ($var) {
if ($self->{'DEFINED'}{$var}) { return true; }
else { return false; } #this line broken
} else {
my @def = keys %{$self->{'DEFINED'}};
return @def;
}
}
and using it in the context if ($obj->uses('badvar')) always tests as
true. However using return 0 instead of return false seems to
work fine. Either my perl interpreter is broken or my brain is, any
guesses?
sub uses {
my $self = shift; my $var = shift;
if ($var) {
if ($self->{'DEFINED'}{$var}) { return true; }
else { return false; } #this line broken
} else {
my @def = keys %{$self->{'DEFINED'}};
return @def;
}
}
and using it in the context if ($obj->uses('badvar')) always tests as
true. However using return 0 instead of return false seems to
work fine. Either my perl interpreter is broken or my brain is, any
guesses?