【发布时间】:2014-05-15 07:04:30
【问题描述】:
我在 Perl 中有一个哈希,它存储一个简单的键值查找,如下所示
'a' => hello
'b' => world
'c' => hellooo
我想有效地删除所有包含“hello”模式的键值对。这很容易通过grep
提前致谢
【问题讨论】:
我在 Perl 中有一个哈希,它存储一个简单的键值查找,如下所示
'a' => hello
'b' => world
'c' => hellooo
我想有效地删除所有包含“hello”模式的键值对。这很容易通过grep
提前致谢
【问题讨论】:
您可以在此处使用hash slice。哈希切片返回与键列表关联的值。
要一次删除键/值对,您可以执行以下操作..
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 };
【讨论】:
grep),那么他应该被告知足以破译或查找基本这 3 个示例中演示的选项。