@ {hash {$ key}}在Perl中意味着什么?

0 perl hashtable

有人能告诉我这是什么@{hash{$key}}意思吗?当我写作时我是否是对的@{hash{$key}}[$i]=$list[$i+1]

ike*_*ami 7

@{hash{$key}}
Run Code Online (Sandbox Code Playgroud)

是一种奇怪的写作方式

@hash{$key}
Run Code Online (Sandbox Code Playgroud)

这称为哈希切片.它允许您一次从哈希中获取多个值.例如,

say for @hash{'a', 'b'};
Run Code Online (Sandbox Code Playgroud)

手段

say for $hash{a}, $hash{b};
Run Code Online (Sandbox Code Playgroud)

所以使用起来相当愚蠢

@hash{$key}
Run Code Online (Sandbox Code Playgroud)

代替

$hash{$key}
Run Code Online (Sandbox Code Playgroud)

@{hash{$key}}[$i]=$list[$i+1]; 不编译,所以不,使用它是不正确的.