in reply to Explanation of commonly used Perl

Search for "slices" inside perldata:

Entire arrays (and slices of arrays and hashes) are denoted by '@', which works much like the word "these" or "those" does in English, in that it indicates multiple values are expected.

@days # ($days[0], $days[1],... $days[n]) @days[3,4,5] # same as ($days[3],$days[4],$days[5]) @days{'a','c'} # same as ($days{'a'},$days{'c'})
(end quoting)
So that given a call like foobar(foo => "a", bar =>"b"), It translates to
my ($foo, $bar) = @{ {foo => "a", bar => "b"} }{ 'foo','bar'}

which is essentially the same as ($passed_values{'foo'},$passed_values{'bar'}) It's just unusual because we don't use the @variable{'a','b'} form terribly often.