正则表达式入门与元字符详解
1. 哈希遍历
在处理哈希(hash)时,有时需要按预先定义的顺序遍历键。若要实现这一点,需额外维护一个包含键的数组。每次向哈希中添加键时,也要将该键添加到数组中,示例代码如下:
my @keys_in_order;
my %hash;
$hash{'thing'} = 1;
push @keys_in_order, 'thing';
$hash{$key} = $val;
push @keys_in_order, $key;
不过,这种策略存在问题。若键被重新赋值或删除,数组可能与哈希不同步。
除了上述方法,还可以使用 while 和 each 来遍历哈希。通常,使用 foreach 循环遍历哈希是标准做法,但有时在 while 循环中使用 each() 函数更简洁。以下是两种执行相同操作的循环对比:
while (my ($key, $value) = each %hash_with_long_name) {
print "$key, $value\n";
}
foreach my $key (keys %hash_with_long_name) {
print "$key, $hash_with_long_name{$key}\n";
}
超级会员免费看
订阅专栏 解锁全文
7500

被折叠的 条评论
为什么被折叠?



