可以`转到LABEL`导致内存泄漏吗?

时间:2016-09-22 21:25:29

标签: perl memory goto

使用goto标签会导致内存泄漏吗?我在documentation for goto中找到的所有相关内容都是:

  

goto LABEL表单找到标有LABEL的语句并在那里继续执行。

使用goto LABEL安全吗?

1 个答案:

答案 0 :(得分:2)

经过1分钟的测试,答案似乎是: (见下文更新)

在此期间观看top时,%MEM会不断增加

{
    THIS:
    my $x = 1;
    goto THIS;
}

这不会显示相同的递增%MEM计数器

while (1) {
    my $x = 1;
}

<强>更新

我误解了这个问题。我对这个问题的看法是,是否会为使用goto在词法范围内存在的词法变量分配内存,我的测试似乎是肯定的。严格来说,这不是内存泄漏。如果perl退出这个词法范围,分配的空间将被释放。