0
我想刪除其值中包含「local」字符串的值。這裏是我的散列輸出(print Dumper ($hash)
):嵌套散列/數組中的Perl Grep問題
$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語句有什麼問題嗎?
謝謝。
感覺就像殺了我的自我。非常感謝。 – slayedbylucifer
我自己做了:) – ysth