<div dir="ltr">Стрелка -> операция разыменования. Она применима только к ссылкам. 1 не является ссылкой.<br>Т.е. после <span style="font-size:12.8000001907349px">$x->{y} = 1;  ты пытаешься разыменовать единицу, что не есть возможно.<br><br></span><span style="font-size:12.8000001907349px">Чтобы работало $x->{y}->{z} = 2  в y должна лежать ссылка на хеш\массив или ничего(undef), для автооживления.<br></span><span style="font-size:12.8000001907349px"><br><br><br></span></div><div class="gmail_extra"><br><div class="gmail_quote">18 июня 2015 г., 23:12 пользователь  <span dir="ltr"><<a href="mailto:moscow-pm-request@pm.org" target="_blank">moscow-pm-request@pm.org</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Сообщения, предназначенные для списка<br>
рассылки Moscow-pm, отправляйте по адресу<br>
        <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a><br>
<br>
Для изменения параметров подписки или<br>
отписки используйте веб-страницу<br>
        <a href="http://mail.pm.org/mailman/listinfo/moscow-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/moscow-pm</a><br>
или отправьте письмо, в теле или теме<br>
которого будет слово 'help', по адресу<br>
        <a href="mailto:moscow-pm-request@pm.org">moscow-pm-request@pm.org</a><br>
<br>
Адрес администратора этого списка<br>
рассылки:<br>
        <a href="mailto:moscow-pm-owner@pm.org">moscow-pm-owner@pm.org</a><br>
<br>
При ответе, пожалуйста, измените тему<br>
письма на более содержательную чем "Re:<br>
Содержание дайджеста списка рассылки<br>
Moscow-pm..."<br>
<br>
<br>
В этом номере:<br>
<br>
   1. динамическое создание<br>
      конструкций вида $x->{y} (Dmitry Ivanov)<br>
   2. Re: динамическое создание<br>
      конструкций вида $x->{y} (Eugen Konkov)<br>
   3. Re: динамическое создание<br>
      конструкций вида $x->{y} (Dmitry Ivanov)<br>
   4. Re: динамическое создание<br>
      конструкций вида $x->{y} (Denis Fedoseev)<br>
   5. Re: динамическое создание<br>
      конструкций вида $x->{y} (Alexey Shrub)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 18 Jun 2015 22:38:57 +0300<br>
From: Dmitry Ivanov <<a href="mailto:msk-pm@sadok.spb.ru">msk-pm@sadok.spb.ru</a>><br>
To: Moscow.pm group <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>><br>
Subject: [Moscow.pm] динамическое создание<br>
        конструкций вида $x->{y}<br>
Message-ID: <<a href="mailto:1591554980.20150618223857@sadok.spb.ru">1591554980.20150618223857@sadok.spb.ru</a>><br>
Content-Type: text/plain; charset=utf-8<br>
<br>
Здравствуйте, Moscow.pm.<br>
<br>
Не знаю, как правильно сформулировать вопрос и что гуглить. Почему<br>
конструкция вида<br>
<br>
$x->{y} = 1;<br>
$x->{y}->{z} = 2;<br>
<br>
не работает, а<br>
<br>
$x->{y}->{undef} = 1;<br>
$x->{y}->{z} = 2;<br>
<br>
естественно работает.<br>
<br>
Проблема в том, что я заранее не знаю сколько этих<br>
<br>
$x->{y}->{z}......->{n}<br>
<br>
в итоге может получиться.<br>
<br>
Куда посмотреть?<br>
<br>
Спасибо.<br>
<br>
--<br>
С уважением,<br>
 Dmitry                          mailto:<a href="mailto:sadok@mail.ru">sadok@mail.ru</a><br>
<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Thu, 18 Jun 2015 22:54:19 +0100<br>
From: Eugen Konkov <<a href="mailto:kes-kes@yandex.ru">kes-kes@yandex.ru</a>><br>
To: Dmitry Ivanov <<a href="mailto:msk-pm@sadok.spb.ru">msk-pm@sadok.spb.ru</a>><br>
Cc: Moscow.pm group <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>><br>
Subject: Re: [Moscow.pm] динамическое создание<br>
        конструкций вида $x->{y}<br>
Message-ID: <<a href="mailto:596091159.20150618225419@yandex.ru">596091159.20150618225419@yandex.ru</a>><br>
Content-Type: text/plain; charset=utf-8<br>
<br>
Здравствуйте, Dmitry.<br>
<br>
А что за ошибки пишет?<br>
<br>
Добавьте:<br>
<br>
use warnings;<br>
use strict;<br>
или<br>
use Modern::Perl;<br>
<br>
в начале программы.<br>
<br>
Вы писали 18 июня 2015 г., 20:38:57:<br>
<br>
DI> Здравствуйте, Moscow.pm.<br>
<br>
DI> Не знаю, как правильно сформулировать вопрос и что гуглить. Почему<br>
DI> конструкция вида<br>
<br>
$x->>{y} = 1;<br>
$x->>{y}->{z} = 2;<br>
<br>
DI> не работает, а<br>
<br>
$x->>{y}->{undef} = 1;<br>
$x->>{y}->{z} = 2;<br>
<br>
DI> естественно работает.<br>
<br>
DI> Проблема в том, что я заранее не знаю сколько этих<br>
<br>
$x->>{y}->{z}......->{n}<br>
<br>
DI> в итоге может получиться.<br>
<br>
DI> Куда посмотреть?<br>
<br>
DI> Спасибо.<br>
<br>
DI> --<br>
DI> С уважением,<br>
DI>  Dmitry                          mailto:<a href="mailto:sadok@mail.ru">sadok@mail.ru</a><br>
<br>
<br>
<br>
<br>
<br>
<br>
--<br>
С уважением,<br>
 Eugen                          mailto:<a href="mailto:kes-kes@yandex.ru">kes-kes@yandex.ru</a><br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Thu, 18 Jun 2015 23:06:21 +0300<br>
From: Dmitry Ivanov <<a href="mailto:msk-pm@sadok.spb.ru">msk-pm@sadok.spb.ru</a>><br>
To: Moscow.pm group <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>><br>
Subject: Re: [Moscow.pm] динамическое создание<br>
        конструкций вида $x->{y}<br>
Message-ID: <<a href="mailto:58164316.20150618230621@sadok.spb.ru">58164316.20150618230621@sadok.spb.ru</a>><br>
Content-Type: text/plain; charset=utf-8<br>
<br>
Здравствуйте, Eugen.<br>
<br>
Вы писали 19 июня 2015 г., 0:54:19:<br>
<br>
> Здравствуйте, Dmitry.<br>
<br>
> А что за ошибки пишет?<br>
<br>
> Добавьте:<br>
<br>
> use warnings;<br>
> use strict;<br>
> или<br>
> use Modern::Perl;<br>
<br>
> в начале программы.<br>
<br>
Ошибок нет, просто не создается. Про use strict и т.п. я сознательно<br>
умолчал.<br>
<br>
Догадался, что надо сначала пробежаться и создать структуру. Что-то<br>
вроде<br>
<br>
$x->{y} = {};<br>
$x->{y}->{z} = {};<br>
<br>
а потом заполнить.<br>
<br>
Спасибо.<br>
<br>
--<br>
С уважением,<br>
 Dmitry                          mailto:<a href="mailto:sadok@mail.ru">sadok@mail.ru</a><br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Thu, 18 Jun 2015 23:10:57 +0300<br>
From: Denis Fedoseev <<a href="mailto:denis.fedoseev@gmail.com">denis.fedoseev@gmail.com</a>><br>
To: "Moscow.pm group" <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>><br>
Subject: Re: [Moscow.pm] динамическое создание<br>
        конструкций вида $x->{y}<br>
Message-ID:<br>
        <<a href="mailto:CALE3dTUwdOZmiJBaiBEk2DEYu%2B8CjWm24ZPYcuzN6su1Q%2B_nWQ@mail.gmail.com">CALE3dTUwdOZmiJBaiBEk2DEYu+8CjWm24ZPYcuzN6su1Q+_nWQ@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="utf-8"<br>
<br>
А какая задача решается?<br>
<br>
Если с разбегу - то смотреть можно в булевом контектсте, не будет<br>
автовификации. Или принудительно включить прагму no autivivification (В<br>
названии могу ошибаться).<br>
<br>
Конструкция вида:<br>
$x->{y} = 1;<br>
$x->{y}->{z} = 2;<br>
<br>
не работает потому что при присвоении<br>
$x->{y}->{z} = 2;<br>
в {y} будет {z => 2}, а не [1, {z => 2}] ибо это не пхп и тут со<br>
структурами все строго.<br>
<br>
Если делать<br>
$x->{y}->{undef} = 1;<br>
$x->{y}->{z} = 2;<br>
<br>
То в {y} будет { undef => 1, z => 2} что является валидным хэшем.<br>
<br>
19 июня 2015 г., 0:54 пользователь Eugen Konkov <<a href="mailto:kes-kes@yandex.ru">kes-kes@yandex.ru</a>> написал:<br>
<br>
> Здравствуйте, Dmitry.<br>
><br>
> А что за ошибки пишет?<br>
><br>
> Добавьте:<br>
><br>
> use warnings;<br>
> use strict;<br>
> или<br>
> use Modern::Perl;<br>
><br>
> в начале программы.<br>
><br>
> Вы писали 18 июня 2015 г., 20:38:57:<br>
><br>
> DI> Здравствуйте, Moscow.pm.<br>
><br>
> DI> Не знаю, как правильно сформулировать вопрос и что гуглить. Почему<br>
> DI> конструкция вида<br>
><br>
> $x->>{y} = 1;<br>
> $x->>{y}->{z} = 2;<br>
><br>
> DI> не работает, а<br>
><br>
> $x->>{y}->{undef} = 1;<br>
> $x->>{y}->{z} = 2;<br>
><br>
> DI> естественно работает.<br>
><br>
> DI> Проблема в том, что я заранее не знаю сколько этих<br>
><br>
> $x->>{y}->{z}......->{n}<br>
><br>
> DI> в итоге может получиться.<br>
><br>
> DI> Куда посмотреть?<br>
><br>
> DI> Спасибо.<br>
><br>
> DI> --<br>
> DI> С уважением,<br>
> DI>  Dmitry                          mailto:<a href="mailto:sadok@mail.ru">sadok@mail.ru</a><br>
><br>
><br>
><br>
><br>
><br>
><br>
> --<br>
> С уважением,<br>
>  Eugen                          mailto:<a href="mailto:kes-kes@yandex.ru">kes-kes@yandex.ru</a><br>
><br>
> --<br>
> Moscow.pm mailing list<br>
> <a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
><br>
<br>
<br>
<br>
--<br>
С уважением, Денис Федосеев<br>
----------- следущая часть -----------<br>
Вложение в формате HTML было извлечено&hellip;<br>
URL: <<a href="http://mail.pm.org/pipermail/moscow-pm/attachments/20150618/f60a6c68/attachment-0001.html" rel="noreferrer" target="_blank">http://mail.pm.org/pipermail/moscow-pm/attachments/20150618/f60a6c68/attachment-0001.html</a>><br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Thu, 18 Jun 2015 23:09:53 +0300<br>
From: Alexey Shrub <<a href="mailto:worldmind@mail.ru">worldmind@mail.ru</a>><br>
To: "Moscow.pm group" <<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a>><br>
Subject: Re: [Moscow.pm] динамическое создание<br>
        конструкций вида $x->{y}<br>
Message-ID: <<a href="mailto:1434658193.1693.1@smtp.mail.ru">1434658193.1693.1@smtp.mail.ru</a>><br>
Content-Type: text/plain; charset="utf-8"; Format="flowed"<br>
<br>
<br>
> $x->>{y} = 1;<br>
> $x->>{y}->{z} = 2;<br>
><br>
> DI> не работает<br>
<br>
а как она может работать если со<br>
скаляром "y" обращаться как с хешом?<br>
нужно уточнение что надо сделать<br>
----------- следущая часть -----------<br>
Вложение в формате HTML было извлечено&hellip;<br>
URL: <<a href="http://mail.pm.org/pipermail/moscow-pm/attachments/20150618/910f839d/attachment.html" rel="noreferrer" target="_blank">http://mail.pm.org/pipermail/moscow-pm/attachments/20150618/910f839d/attachment.html</a>><br>
<br>
------------------------------<br>
<br>
Subject: Нижний колонтитул дайджеста<br>
<br>
_______________________________________________<br>
Moscow-pm mailing list<br>
<a href="mailto:Moscow-pm@pm.org">Moscow-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/moscow-pm" rel="noreferrer" target="_blank">http://mail.pm.org/mailman/listinfo/moscow-pm</a><br>
<br>
<br>
------------------------------<br>
<br>
Конец Дайджест списка рассылки Moscow-pm; том 92, выпуск 8<br>
**********************************************************************************************<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>С уважением, <br>Еньшин Андрей Юрьевич<br>тел.: +79254814571<br><br></div></div></div>
</div>