Idiomatic data persistence is (mostly) provided by
DBM::Deep, which also has transactions. I deliberately did
not address the issues of recovery and auditing in order to provide a single-file solution. If those issues are more important to you than idiomatic data persistence, then your choice has been made for you. I have rarely seen the situation where both are absolutely necessary.
My criteria for good software:
- Does it work?
- Can someone else come in, make a change, and be reasonably certain no bugs were introduced?