Consider
YAML for your data storage. YAML can represent nearly any Perl data structure, and yet is mostly editable by us hewwwmans too, unlike XML which I am beginning to be more disgusted by whenever someone says "the config file is in XML" - yuck.
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.