0
删除我在Perl中的哈希存储简单的键值查找如下图所示Perl的简单的哈希按值
'a' => hello
'b' => world
'c' => hellooo
我想有效地删除具有模式“你好”的所有键值对在他们中。提前
删除我在Perl中的哈希存储简单的键值查找如下图所示Perl的简单的哈希按值
'a' => hello
'b' => world
'c' => hellooo
我想有效地删除具有模式“你好”的所有键值对在他们中。提前
您可以使用hash slice这里这是很容易有可能通过grep
感谢。散列片返回与键列表关联的值。
要一次删除键/值对,你可以做这样的事情..
my $regex = qr/hello/;
delete @h{ grep { $h{$_} =~ $regex } keys %h };
for (keys %h) {
delete $h{$_} if $h{$_} =~ /hello/;
}
delete $h{$_} for grep { $h{$_} =~ /hello/ } keys %h;
delete @h{ grep { $h{$_} =~ /hello/ } keys %h };
你能解释一下每个解决方案,并与其他有什么不同?这应该是一个教育答案,而不是一个快速解决方案。 –
@PaulHicks就这一点而言,如果OP被告知足以能够提出他想要的答案类型(即'grep'),那么他应该被告知足够的解密或查找这3个例子中所展示的基本选项。 – Miller
@保罗希克斯,他应该选择一个他认为更具可读性的人。 – ikegami