>>>>> "gl" == greg london <[EMAIL PROTECTED]> writes:
gl> There just seems to be a fair expectation gl> that 'exists' shall do no harm. That's the gl> whole point of it. gl> If you're simply testing the boolean value gl> I could see autovivification kicking in, gl> but damnit, exists is meant to avoid it. the semantics of exists cause it to look for a single key in a hash. perl executes the expression down to the last hash level (autovivifying along the way) and passes that last level to exists. it is just the way it was specified when first introduced in perl5. perl4 didn't even have exists so there was no easy way to tell the difference between no key or key with the value undef. i would agree this is not a good design but it won't be changed as it has been this way too long. as i said, perl6 will correct to the meaning you (and many others) want. uri -- Uri Guttman ------ [EMAIL PROTECTED] -------- http://www.stemsystems.com --Perl Consulting, Stem Development, Systems Architecture, Design and Coding- Search or Offer Perl Jobs ---------------------------- http://jobs.perl.org _______________________________________________ Boston-pm mailing list [EMAIL PROTECTED] http://mail.pm.org/mailman/listinfo/boston-pm

