hesco has asked for the wisdom of the Perl Monks concerning the following question:
And the code that generates it reads:The count of critical failures is 0. Count of critical failures: 0 Use of uninitialized value in numeric eq (==) at lib/Test/MonitorSites +.pm line 183.
I've quoted and unquoted the zero on line 183, without effect. I've tried, actually started, using the '>' operator instead of '!='. But I'm stumped here. Any ideas why zero would not be equal to zero, or why a variable defined on one line would be reported as uninitialized on the very next line?my $critical_failures = $self->_analyze_test_logs(); print STDERR "Count of critical failures: $critical_failures->{'coun +t'}\n"; if($critical_failures->{'count'} != '0'){ # line 183 $self->sms($critical_failures); } elsif ($self->{'config'}->param('global.report_success') == 1) { $self->sms($critical_failures); } else { $self->{'error'} .= "We won't send an sms, there were no critical_ +failures and global.report_success is not set true.\n"; } . . . sub _analyze_test_logs { my $self = shift; my $critical_failures = 0; my %critical_failures; $critical_failures{'count'} = 0; . . . $critical_failures{'count'} = $critical_failures; if($critical_failures{'count'} == 0){ print STDERR "The count of critical failures is 0.\n"; } return \%critical_failures; }
UPDATE
Ikegami: you're good. I had in fact emitted an elsif clause in my efforts to simplify the situation. I have now restored that clause to the code above with this update. Now I'll go add some debugging statements to try to track down what I now suspect may be a missing configuration paramater. I'll report back on what I learn in a few minutes.
UPDATE #2
Ikegami: That was it. I just added a patch to my constructor which defines the $self->{'config'}->param('global.report_success') value if its missing. Thanks again! I think that just might make this ready the release of a new version.
-- Hugh
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Defined values errors out as unitialized
by ikegami (Patriarch) on Mar 21, 2007 at 22:57 UTC | |
|
Re: Defined values errors out as unitialized
by GrandFather (Saint) on Mar 21, 2007 at 22:55 UTC |