in reply to Persistent stack implementation

It's not optimized as of yet, but you could use DBM::Deep as an array. It's persistent and concurrent-access safe. It even has ACId transactions. If performance becomes a major concern, I can do some optimization on shift and unshift.

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?