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
