У меня есть динамические вложенные хеш-ссылки, подобные этому:
my $hash = { 'a' => { 'b' => { 'c' => 'value' } } };
Я хочу установить значение c равным «что-то», позволяя пользователю вводить «a.b.c что-то».
Теперь получениезначения можно сделать так:
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
. Любые подсказки, как решить узлы в моей голове?