Liberación de Memoria en Estructuras de Datos Cíclicas

Existe un problema con este algoritmo de recolección de basura: las referencias circulares. En esos casos el programador debe actuar usando, por ejemplo, el operador delete y las funciones weaken e isweak en el módulo Scalar::Util .

pp2@nereida:~$ perl -wde 0
main::(-e:1):   0
  DB<1> use Scalar::Util qw(weaken isweak)
  DB<2> $var = "hola\n"
  DB<3> $ref = \$var
  DB<4> weaken($ref)
  DB<5> p isweak($ref)
1
  DB<6> $c = $ref
  DB<7> p "<".isweak($c).">"
<>

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19