Perl scoping и жизнь локальных переменных

Как долго находится область памяти, выделенная локальной переменной в Perl (как для массивов, так и для хешей и скаляров)? Например:

sub routine
{  
  my $foo = "bar";  
  return \$foo;  
}  

Можете ли вы по-прежнему получить доступ к строке «bar» в памяти после возврата функции? Как долго она просуществует, и похожа ли она на статическую переменную в C или больше на переменную, объявленную из кучи?

В принципе, имеет ли это смысл в данном контексте?

$ref = routine()  
print ${$ref};
11
задан cjm 19 October 2011 в 00:55
поделиться