>>>>> "RD" == Rob Dixon <rob.di...@gmx.com> writes:

  RD> On 29/04/2011 10:27, Uri Guttman wrote:

  RD> Good call Brian. It's not at all obvious that all the elements of a hash
  RD> slice will be created if they don't exist :)
  >> 
  >> and they won't be anyhow. you need have lvalues to autovivify hash (or
  >> array) elements.
  >> 
  >> perl -le '@x = @y{ qw( a b )}; print keys %y'
  >> 
  >> %y is empty as you can see.

  RD> I meant in the specific case of the grep that was posted. There are no
  RD> lvalues there, yet they are autovivified:

  RD>   perl -le '@x = grep defined, @y{ qw( a b )}; print keys %y'

that shouldn't happen IMO. it is only calling defined on the aliased
values of %y. i would call it a bug but some could argue otherwise.

uri

-- 
Uri Guttman  ------  u...@stemsystems.com  --------  http://www.sysarch.com --
-----  Perl Code Review , Architecture, Development, Training, Support ------
---------  Gourmet Hot Cocoa Mix  ----  http://bestfriendscocoa.com ---------

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to