我在替換多視圖散列引用中的值時遇到了一些困難。Perl在多視圖散列引用中替換值
while ( my ($module, $default_parameters) = each %{ $device_description_defaults }) {
while (my ($def_key, $def_value) = each %{ $default_parameters }) {
if ($def_key eq 'server') {
$device_description_defaults->{$default_parameters}->{$def_key} = $device_servers->{$def_value}->{ $hostname->{'device_cluster'} };
}
}
}
結果的輸出:
'HASH(0xaa5fdc8)' => {
'server' => [
'10.1.1.1',
'10.1.1.2',
]
},
'HASH(0xaa5fdc8)' 應該是 'some_specific_string'
你是對。我意識到我應該包括整個循環。在調試多一點後,用特定的值替換$ default_parameters,我已經縮小了這個問題的範圍。基本上$ default_parameters是一個HASH指針,但我將它作爲一個字符串來使用。 – evolution 2013-04-27 21:58:17
用$模塊替換$ default_parameters有竅門。 $ default_parameters是一個哈希引用,$ module是一個字符串,我需要的 – evolution 2013-04-27 22:00:31