Memory leak происходит, когда garbage collector не справляется. Например,
из-за циклических ссылок. То, что происходит здесь, - задокументированная
фича языка. Довольно полезная фича, надо сказать. Редко используемая, но
полезная.

On Mon, Dec 24, 2018, 07:28 Alessandro Gorohovski via Moscow-pm <
[email protected] wrote:

> Здравствуйте уважаемое сообщество,
>
> Просто мне хотелось обратить внимание что,
> это одна из ситуаций, которая может приводит к "утечке" памяти (memory
> leak).
> Как то так.
>
> пн, 24 дек. 2018 г. в 06:38, Трунаев Иван via Moscow-pm <[email protected]
> >:
>
>> Ужас кошмарный. Почему в perl mail нет оператора karma? Coma. Ну если
>> можно сделать kill или delete, то должен быть и karma. Buddha.
>>
> чт, 29 нояб. 2018 г. в 15:16, Alessandro Gorohovski via Moscow-pm <
>> [email protected]>:
>>
>>> или здесь:
>>> https://www.youtube.com/watch?v=2wxL3DYen5g
>>>
>>>
>>> чт, 29 нояб. 2018 г. в 13:14, Alessandro Gorohovski <
>>> [email protected]>:
>>>
>>>> чт, 29 нояб. 2018 г. в 13:06, Andrei <[email protected]>:
>>>>
>>>>> Всё верно.
>>>>>
>>>>> По шагам:
>>>>>
>>>>> delete $a{11}{21,24}{31}
>>>>>
>>>>> 1. Сначала ищется элемент $a{11}. Он есть, и он ссылка на хэш.
>>>>> 2. Дальше в это подхэше ищется элемент $a{11}{21,24}. Список (21,24)
>>>>> преобразуется в строку "21$;24". Такого элемента не находится, поэтому
>>>>> из-за autovivification, включённого по умолчанию, этот элемент создаётся и
>>>>> его значение устанавливается в undef.
>>>>> 3. Далее ищется элемент $a{11}{21,24}{31}. Его нет, поэтому
>>>>> значением $a{11}{21,24} становится ссылка на хэш, в котором снова
>>>>> из-за autovivification создаётся элемент с ключом 31 и значением undef.
>>>>> 4. И только после этого delete удаляет только что созданные элемент и
>>>>> возвращает его значение undef.
>>>>>
>>>>> Элемент, созданный на шаге 2, никуда не девается, вот он там и сидит,
>>>>> память занимает, программистов пугает.
>>>>> :)
>>>>>
>>>>
>>>> Да, Андрей, это всё верно вы представили/объяснили
>>>> :)
>>>> Подобную ситуацию пожалуйста посмотрите тут:
>>>> https://www.youtube.com/watch?v=ZIig5fgp7nY
>>>>
>>>> --
>>> Moscow.pm mailing list
>>> [email protected] | http://moscow.pm.org
>>>
>>
>>
>> --
>> Иван Трунаев
>> --
>> Moscow.pm mailing list
>> [email protected] | http://moscow.pm.org
>>
> --
> Moscow.pm mailing list
> [email protected] | http://moscow.pm.org
>
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить