2015-06-18 22:06 GMT+02:00 Dmitry Ivanov <[email protected]>:
> Догадался, что надо сначала пробежаться и создать структуру. Что-то
> вроде
>
> $x->{y} = {};
> $x->{y}->{z} = {};
>
> а потом заполнить.
Вам уже дали правильный ответ, почему ваш первый вариант не работал.
Ваше предложение пробежать и создать структуру тоже верное, но в такой
форме избыточное. Perl автовивифицирует undef значения к запрошенному
виду, потому можно писать сразу:
$ perl -w -Mv5.22 -MDDP -E 'my $x; $x->{y}{z}{w} = 8; p $x'
{
y => {
z => {
w => 8
}
}
}
Таким образом вам не нужно беспокоиться "сколько этих
$x->{y}->{z}......->{n} в итоге может получиться". Perl DWIM.
--
Moscow.pm mailing list
[email protected] | http://moscow.pm.org