in reply to Code versus Config

One very quick and not too dirty way to handle config files is a combination of eval and Data::Dumper. Just get your internal data structures all set up with what you want, and then use the module to make a file that'll set the variables back when you eval() it.

That's not a very good explanation, is it? What Data::Dumper can do is turn an internal Perl data structure into a scalar of valid Perl code that can be stored on disk or in a database somewhere. Since it's valid Perl code, it's easily editable. Since it's a separate file, it can be changed without changing the script. Just another approach.