perl-Config-Grammar -- Grammar-based, user-friendly config parser
http://search.cpan.org/dist/Config-Grammar/
Config::Grammar is a module to parse configuration files. The
configuration may consist of multiple-level sections with assignments and
tabular data. The parsed data will be returned as a hash containing the
whole configuration. Config::Grammar uses a grammar that is supplied upon
creation of a Config::Grammar object to parse the configuration file and
return helpful error messages in case of syntax errors. Using the makepod
method you can generate documentation of the configuration file format.