I use Config::Simple
it works very well, except for the tied hash interface where it flattens the sections into a single hash which when dumped looks like:
'newsletter.owner_p1_font' => ,
'newsletter.contact_font' => 'Helvetica',
'newsletter.owner_city' => 'Hamilton',
'system.debug' => '1',
'armtwo.username' => ,
'newsletter.contact_y' => '150',
The tied method of Config::IniFiles
is more intuitive.
Config::Simple is pretty widely used and if you have a problem the developer is very responsive.