さて、まず、データの保存にはデータベースを使うことに決定。クリエイタなどの不定形データは全部一つのデータとして保存。まあ、どうせ検索クエリには使わないだろうし*1、これで良しとしましょう。
SQLを書くのは面倒だし、バグの元になるからやだなぁ などと思っていたら、SQL::AbstractというPerlモジュールがあるらしい。やっぱり同じことを考える人っているものですね。
他作モジュールを使うといろんなことができるのかもしれませんが、その辺は面倒なのでパス、できる限り自前で行こうと思います。