my $critical_failures = $self->_analyze_test_logs(); print STDERR "Count of critical failures: $critical_failures->{'count'}\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; }