Perl'de yerel bir değişken tarafından ayrılan bellek konumu ne kadar süreyle (hem diziler, hem de skalerler için) yaşıyor? Örneğin: işlevi döndürdü sonraPerl kapsamı ve yerel değişkenlerin ömrü
sub routine
{
my $foo = "bar";
return \$foo;
}
hala bellekte dize "bar"
erişebilir mi? Ne kadar süreyle yaşayacak, ve C veya daha fazla statik bir değişkene benzer bir değişkenin açığa çıkardığı bir değişken gibi mi?
Temel olarak, bu bağlamda mantıklı mıdır?
$ref = routine()
print ${$ref};
Bu kodu denediniz mi? En azından ilk soruya kendin cevap verebilirdin. – runrig
@runrig, "bu özel durumda işe yarayacak" ve "bunun aslında çalışması gerekiyor" arasında bir fark var. Kodu çalıştırmak sadece ilkini size söyleyecektir. – cjm