in reply to Re: Perl parser tortured (was: Perl Idioms Explained)
in thread Perl Idioms Explained - my ($foo, $bar) = @{shift(@_)}{qw/ -foo -bar /}

That will be fixed in Perl 6, which will distinguish
${shift} # always an expression in the middle
$«shift» # always a literal
It's really quite amazing how much just adding one set of brackets to a language helps.