Ответ 1
После 1 минуты тестирования ответ выглядит следующим образом: yes no (см. обновление ниже)
Наблюдая за top
, пока он работает, %MEM
непрерывно увеличивает
{
THIS:
my $x = 1;
goto THIS;
}
Это не показывает тот же увеличивающий %MEM
счетчик
while (1) {
my $x = 1;
}
UPDATE
Я неправильно понял вопрос. Мой вопрос заключается в том, будет ли выделена память для лексической переменной, которая уже существует в этой лексической области с использованием goto
, и мой тест, кажется, говорит "да". Строго говоря, это не утечка памяти. Если perl когда-либо выйдет из этой лексической области, выделенное пространство будет выпущено.