As an alternate to
tilly's suggestion, consider using
DBM::Deep. One of its design requirements was to provide access to more data than could fit in memory. I'm not sure about the performance comparisons, but if you happen to be dealing with multi-level datastructures (HoAoHoAoA or something similar), nothing is going to beat
DBM::Deep. In addition,
DBM::Deep is (I believe) the only DBM that correctly handles Perl references. That may also be a consideration.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?