Perl Monk, Perl Meditation | |
PerlMonks |
Re: Inconsistency of 'Use of uninitialized value in scalar assignment' warningby Athanasius (Archbishop) |
on Dec 26, 2013 at 08:43 UTC ( [id://1068401]=note: print w/replies, xml ) | Need Help?? |
As LanX observes, there are really two separate issues here: (1) $bar{not_existing} vs. $bar($baz} $bar{undef()} generates the same Use of uninitialized value in hash element error. The difference is that $bar{not_existing} only happens (in this case) to access a non-existent element, but $bar($baz} (with $baz undefined) necessarily does so. So the latter case is guaranteed to fail, making it safe to issue a warning; but the former case might arise within otherwise-valid programming logic, so a warning is not issued. Well, that’s my guess, anyway. (2) use of uninitialized value in scalar assignment within sub foo I don’t know what makes the difference here, but I note that under some circumstances the warning goes away:
Output:
Maybe a product of the way aliasing works? Hope that helps (a little),
In Section
Seekers of Perl Wisdom
|
|