http://qs321.pair.com?node_id=984363


in reply to hash deref confusion: Intermediate Perl

But, in the next line, "@$self" is syntax for dereferencing an array reference, not a hash reference!

The construct you refer to is called a 'hash slice' -- see perldata#slices.

It assignes the 4 values derived from spliting $STANDINGS{$name} (or the four 0s from the constant) to the the four keys:

qw[ wins places shows losses ]
.

That one line is (mostly) equivalent to:

$self->{wins} = $STANDINGS[ 0 ] || 0; $self->{places} = $STANDINGS[ 1 ] || 0; $self->{shows} = $STANDINGS[ 2 ] || 0; $self->{looses} = $STANDINGS[ 3 ] || 0;

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

The start of some sanity?