【发布时间】:2012-11-27 18:30:39
【问题描述】:
我想删除其值中包含“本地”字符串的值。这是我的哈希输出(print Dumper ($hash)):
$VAR1 = {
'FARM_03' => [
'nfs01',
'nfs02',
'nfs03',
'localvmfs',
'localvmfs'
],
'FARM_07' => [
'nfs01',
'localvmfs',
'localvmfs'
],
'FARM_11' => [
'nfs01',
'localvmfs',
'localvmfs'
]
};
因此我在脚本中编写了以下代码以省略“本地”条目:
foreach my $key ( keys %$hash )
{
@{ $hash->{key} } = grep { !/local/i } @{ $hash->{key} };
}
这是运行上述 grep 命令后的输出:
$VAR1 = {
'FARM_03' => [
'nfs01',
'nfs02',
'nfs03',
'localvmfs',
'localvmfs'
],
'FARM_07' => [
'nfs01',
'localvmfs',
'localvmfs'
],
'FARM_11' => [
'nfs01',
'localvmfs',
'localvmfs'
]
'key' => []
};
它没有删除“本地”条目,而是添加了一个新字段'key' => []。
你能告诉我我的 grep 语句有什么问题吗?
谢谢。
【问题讨论】:
标签: perl