我想删除其值中包含“本地”字符串的值。这是我的哈希输出(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 语句有什么问题吗?
谢谢。