本格的?な既存のDBと比べたらパフォーマンスは比べものにならんくらい落ちるだろうけど
まあ"DBと同様のトランザクション"は実現できるんじゃないかと。
必要な機能だけに絞って実装すればいいんだし。
インタフェースも別にSQLに準拠しなくても好きなように設計すればいいし。

DBでflockによる排他処理とか面倒なことを考えなくていいのは
DBが単独で一手に集中してそのへんを引き受けてるからで、
片や複数プロセスが素のファイルにアクセスする時にflockとかで排他処理をするのは、
競合しないよう一手に引き受けてくれるまとめ役(交通整理役、管理役)がいないからで、
だったらデータの面倒を集中的に見てくれる、独立して動作するプログラムをperlで書いて、
複数プロセスからのデータのアクセスはそいつを介してやるようにすればいい訳で、
それはつまりperlでDBシステムを書くってことになる訳で。という話。

といっても実際に作ったことがある訳じゃないんで具体的にどう作るかとかは
実際に作ってみないとわかりません。