Given that you have "huge data", you will want to use
DBM::Deep. This is one of the reasons this module was written. If you have any questions, please don't hesitate to ask me - I'm the current maintainer.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?