>>>>> "RD" == Rob Dixon <[email protected]> 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 ------ [email protected] -------- http://www.sysarch.com --
----- Perl Code Review , Architecture, Development, Training, Support ------
--------- Gourmet Hot Cocoa Mix ---- http://bestfriendscocoa.com ---------
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/