After studying examples in "Effective Perl Programming" I devised the
following working code snippet:
@people{@newkeys} = @$contact{sort keys %$contact};
I am trying to understand exactly how and why it works.
This appears in a subroutine that is passed a hash reference ($contact)
@newkeys is declared as a lexical in this subroutine, as is %people.
So I understand what sort keys %$contact is doing , it is simply
dereferencing the hash reference, passing the resulting hash to the
function keys and sorting the list returned.
I can see how something like
my ($mday,$month,$year) = (localtime)[3..5] #or whatever those indices
should be
works. The parentheses put the return values of localtime into a list
context which can then be indexed, correct?
Yet I'm still confused about the mechanics of how you can assign to an
array slice of a hash. Anyone have a good explanation?
Thanks
Peter Cline
Inet Developer
New York Times Digital