Hello,<br><div class="gmail_quote"><br>The big difference between my module and DBM::Deep is that my module uses a SQL database (like MySQL) instead of flat files. DBM::Deep has implemented its own locking and concurrency system that is not likely to be a robust as a real SQL database.<br>
<br>Other than that the concepts are very similar. Basically, you do what you want to your data structures and the results are transparently and persistently stored for you.<br><br><br>-Mike<div><div></div><div class="h5">
<br><br><br><div class="gmail_quote">
On Mon, Nov 16, 2009 at 5:27 PM, Rob Kinyon <span dir="ltr"><<a href="mailto:rob.kinyon@gmail.com" target="_blank">rob.kinyon@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'd be very interested in seeing how this and DBM::Deep could play together.<br>
<br>
Rob<br>
<br>
2009/11/16 Michael Frager <<a href="mailto:mike@dialyourleads.com" target="_blank">mike@dialyourleads.com</a>>:<br>
<div><div></div><div>> Hello (again) Columbus.pm,<br>
><br>
> I have developed a module that is somewhat like MLDBM. In case you're not<br>
> familiar with MLDBM, this module will take a hash and synchronize its<br>
> contents with a DB file for persistent storage. Unlike a regular hash tied<br>
> to a DB file, MLDBM will save entire data structures that are contained<br>
> within the hash keys, serializing them on the fly.<br>
><br>
> I've taken that concept a little bit further and developed a module that<br>
> will synchronize both hashes and arrays with a SQL database. Each element of<br>
> the data structure being stored can either be stored as its own row or its<br>
> entire contents serialized (similar to MLDBM). The process is recursive so<br>
> entire structures can be stored this way.<br>
><br>
> The upshot is that you can take an entire Perl data structure, made of any<br>
> combination of hashes and arrays, and just place it into a SQL database. It<br>
> works no matter how deep the structure is and without the need for a custom<br>
> SQL schema. Since Perl's "tie" function is use, once the structure is<br>
> stored, it can be manipulated like any variable, except that changes will be<br>
> transparently stored in the SQL database.<br>
><br>
> I'm in the processes of preparing this module for CPAN, I was wondering if<br>
> there is anyone in the Columbus.pm group who might be interested in learning<br>
> about it?<br>
><br>
><br>
><br>
> Thanks,<br>
><br>
><br>
> Michael K Frager, Software Developer<br>
><br>
> ~ Dial Your Leads ~<br>
><br>
> [+] Phone: (888) 310-4474<br>
> [+] Website: <a href="https://www.dialyourleads.com/" target="_blank">https://www.dialyourleads.com/</a><br>
><br>
><br>
</div></div>> _______________________________________________<br>
> Columbus-pm mailing list<br>
> <a href="http://columbus.pm.org/" target="_blank">http://columbus.pm.org/</a><br>
> <a href="mailto:Columbus-pm@pm.org" target="_blank">Columbus-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/columbus-pm" target="_blank">http://mail.pm.org/mailman/listinfo/columbus-pm</a><br>
><br>
<br>
<br>
<br>
--<br>
Thanks,<br>
<font color="#888888">Rob Kinyon<br>
</font></blockquote></div>
</div></div></div><br><br clear="all"><br>-- <br><br>Michael K Frager, Software Developer<br><br>~ Dial Your Leads ~<br><br>[+] Phone: (888) 310-4474<br>[+] Website: <a href="https://www.dialyourleads.com/">https://www.dialyourleads.com/</a><br>
<br>