in reply to Persistence and handling large amounts of multi-level self-referential data

The new kid on the block in data freeze-thawing is Data::Denter and it does handle circular references perfectly.

I'm not sure why stringification is bad for you, but it does use a readable (indented) format for data dumping.

  • Comment on Re: Persistence and handling large amounts of multi-level self-referential data

Replies are listed 'Best First'.
Re: Re: Persistence and handling large amounts of multi-level self-referential data
by premchai21 (Curate) on Sep 29, 2001 at 07:34 UTC
    I am aware of Data::Denter and in fact use it for simpler persistence situations.. By stringification I mean stringification of the reference, rather than the frozen version. Stringification of the frozen version is fine. However, I see no elegant way to use Data::Denter to do what I'm trying to do; that is, something like DB_File, with caching etc. If I just Denter the hash and dump that into a file (DB or otherwise), I run into the problem of possibly not having enough memory to read it back. It might be possible to write my own module that uses DB_File as a backend, but stores Dentered data to the DB_File, and Undents it when FETCHing. But then my circular references get clobbered.