Mam dynamicznych zagnieżdżonych haszowe bibl tak:
my $hash = { 'a' => { 'b' => { 'c' => 'value' } } };
Chcę ustawić wartość c do "coś", pozwalając użytkownikowi wprowadzić "abc coś".
Teraz coraz wartość można zrobić tak:
my $keys = 'a.b.c';
my $v='something';
my $h = $hash;
foreach my $k(split /\./, $keys) {
$h = $h->{$k};
}
print $h; # "value"
Ale jak bym ustawić wartość klucza c
do $v
tak że
print Dumper $hash;
będzie odzwierciedlać zmiany ? $h
nie jest ref na końcu pętli foreach, więc zmiana, która nie będzie odzwierciedlała zmiany w $hash
. Jakieś wskazówki, jak rozwiązać węzły w mojej głowie?
Spróbuj użyć 'dd' funkcji modułu CPAN' Dane :: Dump' zamiast standardowego 'Dane :: Dumper' na' Dumper'. Moduł CPAN znacznie ułatwia czytanie. – tchrist