我可以直接访问列表中的元素:
$foo = (qw(a b c))[2]; # $foo = "c"
Run Code Online (Sandbox Code Playgroud)
我可以为哈希分配一个列表:
%h = (a=>0, b=>1, c=>2);
$foo = $h{c}; # $foo = 2
Run Code Online (Sandbox Code Playgroud)
那么,为什么我不能直接将列表视为哈希?
$foo = (a=>0, b=>1, c=>2){c}; # Syntax error
Run Code Online (Sandbox Code Playgroud)
我能找到的最接近的是创建一个hashref:
$foo = {a=>0, b=>1, c=>2}->{c};
Run Code Online (Sandbox Code Playgroud)
是否有正确的语法来将列表作为哈希访问,或者为什么不是?