我对perl很新,所以我搜索了一段时间,但仍然得到答案.我想从哈希表中获得前100对,但不知道如何做到这一点.要从哈希表中获取每对,我们可以执行以下操作:
foreach my $term (keys %hashtable)
{
do something regarding $hashtable{$term} here
}
Run Code Online (Sandbox Code Playgroud)
但如何获得前100对呢?非常感谢!
其他方式:
my %hash100 = (%hashtable)[0..199];
while ( my ($key, $value) = each %hash100 ) {
...
}
Run Code Online (Sandbox Code Playgroud)
要么:
for my $key ( (keys %hashtable)[0..99] ) {
my $value = $hashtable{$key};
...
}
Run Code Online (Sandbox Code Playgroud)
请注意,由于散列没有特定的顺序,所以没有像散列中的前100对那样.
另一个应该保护您免受一个错误的解决方案:
for my $i (1 .. 100) {
my ($key, $value) = each %hashtable;
print "$key => $value\n";
}
Run Code Online (Sandbox Code Playgroud)