内存回收的问题

内存回收的问题

功力不到家,对内存回收的问题有个疑问,为什么函数里定义的变量没被回收?
下面的显示结果是 ABC

----------------------------
$a=get_info();

print $$a;

sub get_info
{  
  my $a;
  $a="ABC";
  return \$a;              
}
$b=get_info();

print "[$$b]\n";
print "[$b]\n";
print "[$$a]\n";
print "[$a]\n";

sub get_info
{  
  my $a;
  $a="ABC";
  return \$a;
}
因为代码块中的变量或者函数一旦被引用,那么除非该引用失效,那么这个变量就一直留在内存中
谢谢!

哪里的文档有这方面的说明?
perl是一种使用引用计数来gc
记得Advanced perl programming里有介绍.


QUOTE:
原帖由 djiaolin 于 2008-7-23 16:20 发表
功力不到家,对内存回收的问题有个疑问,为什么函数里定义的变量没被回收?
下面的显示结果是 ABC

----------------------------
$a=get_info();

print $$a;

sub get_info
{  
  my $a;
  $a="ABC"; ...

兄弟,我想了解下:“函数里定义的变量没被回收”是什么意思?若被回收了,是个什么结果,烦请给个例子,我也学学,谢谢!