<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=078242916-08072004><FONT face=Arial size=2>Hola a
todos,</FONT></SPAN></DIV>
<DIV><SPAN class=078242916-08072004><FONT face=Arial
size=2></FONT></SPAN> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>Me llamo Jose L., y
aunque llevo algun tiempo en la lista, todavia no habia escrito ningun
mail.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>Mi problema es el
siguiente:</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=078242916-08072004></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>Estoy usando
Apache::Session::MySQL para almacenar la sesiones web de los usuarios en la base
de datos.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>En estas sesiones,
se guarda bastante información, con una estructura de datos compleja. Para
evitar referencias circulares,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>estoy usando
Scalar::Util::weaken sobre aquellas referencias a objetos que me pueden crear
estos circulos, y asi consigo que se</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>destruyan los
objetos correctamente y evitar leaks de memoria.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>El problema es que
esto solo funciona cuando se genera una sesión nueva. Al recuperar los datos
almacenados en la sesión, todas las referencias debiles se han convertido en
fuertes, con lo que la estructura de datos está llena de referencias
circulares.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=078242916-08072004></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>He estado buscando
diferentes modulos para serializar estructuras de datos, pero no he encontrado
ninguno que tenga en cuenta las referencias debiles (Data::Dumper, Storable,
FreezeThaw, etc...)</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=078242916-08072004></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>Alguien se ha
encontrado con este problema? Conoceis algun modulo para serializar estructuras
de datos que recuperen correctamente las referencias
debiles?</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=078242916-08072004>Estoy llegando a la
conclusión que tendré que implementar mi propio modulo para serializar datos, y
no me gusta nada... ;-)</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=078242916-08072004></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=078242916-08072004>Saludos</SPAN></FONT></DIV></BODY></HTML>