如果我有哈希
my %h = (
secret => 1;
);
Run Code Online (Sandbox Code Playgroud)
我知道这只是哈希中的一个键,但我不知道它叫什么.
然后我必须遍历该哈希
my $key;
foreach my $i (keys %h) {
$key = $h{$i};
}
Run Code Online (Sandbox Code Playgroud)
或者有更好的方法来获取密钥的名称?
Mar*_*c B 40
一个列表的片段应该这样做
(keys %h)[0]
Run Code Online (Sandbox Code Playgroud)
keys 返回一个列表,所以只需提取该列表的第一个元素.
Oes*_*sor 14
my ($key) = keys %h;
Run Code Online (Sandbox Code Playgroud)
当您在赋值运算符的两侧使用列表上下文时,键列表中的第一项将分配给$ key.
TLP*_*TLP 11
我不相信有必要使用这个keys功能.
my ($key) = %h;
Run Code Online (Sandbox Code Playgroud)
要么
my $key = (%h)[0];
Run Code Online (Sandbox Code Playgroud)
parens中的哈希将扩展为列表,然后我们可以简单地获取该列表的第一个元素,这是关键.