in reply to Re: ||= in Hash Slice
in thread ||= in Hash Slice

Yup, I guess that works, but I was hoping for something a bit more elegant.
@{$audit}{@$copy_fields} = map { $item->{$_} || '' } @$copy_fields;
Is probably the nearest I'll get.
P.S. The '' vs. 0 difference is irrelevant here in my case, I just want avoid undefs.

Replies are listed 'Best First'.
Re^3: ||= in Hash Slice
by Bloodnok (Vicar) on Jan 06, 2009 at 17:56 UTC
    That may not, probably won't, work in all cases ... consider when the value of $item->{$_} is 0: in this case, the wanted value of 0 will be overwritten by the empty string, since $item->{$_} is, from a perl POV, false. Hence Corions suggestion, tho' not quite what you were seeking, is better.

    A user level that continues to overstate my experience :-))