dr.jekyllandme has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I am new to the Config::General module and I am learning it as I go along. I am using the cpan page as a reference. I am keep running into the problem of having different values for the same block. For example, let's say I have this cfg file:

<dir blah> user = max user = axe </dir>
Now when I use Data::Dumper to output my hash, I get something like this:
$VAR1 = { 'dir' => { 'blah' => { 'user' => [ 'ax', 'max' ] } } };
The key "user" points to an array of 'ax' and 'max'. Which is fine, but I would much prefer it if I could have it point to a array of hashes with key "user" like this.
$VAR1 = { 'dir' => { 'blah' => [ { 'user' => 'ax' }, { 'user' => 'max' } ] } };
I achieved this by having separate dir blocks with the same name:
<dir blah> user = ax </dir> <dir blah> user = max </dir>
This is ok if only have a couple of blocks, but I am creating a config file with a hundred or more blocks and don't want to duplicate a block for every duplicate option. Is there an option that would enable to declare all the same options in one block, but have it as an array of hashes? Thank you.

Replies are listed 'Best First'.
Re: Config general blocks with duplicate options
by Anonymous Monk on Jun 06, 2012 at 01:52 UTC

    s there an option that would enable to declare all the same options in one block, but have it as an array of hashes? Thank you

    Not according to the documentation