http://qs1969.pair.com?node_id=192192

c has asked for the wisdom of the Perl Monks concerning the following question:

I'm a bit confused as to why I am getting the above error in a subroutine. My sub starts out with...

1427 sub foo { 1428 my $args = shift; 1429 1430 if ($args->{err}) { 1431 print "There is a problem : $args->{err}\n"; 1432 } 1433 1434 if ($args->{src} eq "commit") { 1435 print "I've got my sources!\n"; 1436 print "I'm committed!\n" 1437 if (!$args->{err}); 1438 } 1439 }

The curious thing for me is that when I run my script, I get

Use of uninitialized value in string eq at ./pancho-ini line 1430. I've got my sources! I'm committed!

I'm just not understanding why one test against $args->{err} seems to think it is a valid value, while the other, does not. I had thought that defined or exists would be the missing key for line 1430, but when I add either of them, line 1430 seems to prove 'true'

Thanks! -c