Я динамические вложенные хэш-реф, как это:
my $hash = { 'a' => { 'b' => { 'c' => 'value' } } };
Я хочу установить значение c на «что-то», позволяя пользователю вводить «abc something».
Теперь получение значение может быть сделано так:
my $keys = 'a.b.c';
my $v='something';
my $h = $hash;
foreach my $k(split /\./, $keys) {
$h = $h->{$k};
}
print $h; # "value"
Но как бы я установить значение ключа c
в $v
так что
print Dumper $hash;
будет отражать изменения ? $h
не является ссылкой в конце цикла foreach, поэтому изменение этого параметра не отразится на изменении в $hash
. Любые подсказки, как решить узлы в моей голове?
Попробуйте использовать 'dd' функции модуля CPAN' Data :: Dump' в вместо стандартного 'Data :: Dumper' в' Dumper'. Модуль CPAN упрощает чтение. – tchrist