Welcome to the Monastery | |
PerlMonks |
comment on |
( [id://3333]=superdoc: 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 reply to Re: Inconsistency of 'Use of uninitialized value in scalar assignment' warning
by Athanasius
|
|