$nConfig::Loader is intended to be the new standard method of loading configuration data in Perl. Intended features
What Config::Loader is not
Config::Loader overview:
Each one of the phases could be a different method, allowing people that subclass from Config::Loader to modify these phases using Moose: around, after, before, etc. Things we need to handle / considerSee Proposed functionality for a detailed list of proposed functionality.
Proposed interfaceAfter reading the above, see Proposed interface for the first attempt at a proposed interface Use casesIf you can think of potential scenarios / use-cases which you would like to handle, please add them to Use cases2009-05-04 #config-jfdiA source (or the loader) should be able to supply an insertion point for a configuration hash. For example: Given a base dir of config/ and a config file of config/database.cnf, the loader should load the contents of config/database.cnf into $config->{database} IDEA: For each configuration hash that a source supplies, it will be able to assign it a namespace, a weight, and a sibling weight namespace: The insertion point described above, with depth possibly delimited by "." ( i.e. "database.connection" = $config->{database}->{connection} ) weight: How important a configuration hash is (i.e. _local override) sibling weight: If a source finds returns many configuration hashes, it should be able to assign a sibling weight, that is, a general ordering. Resolution (importance) would look something like this sort subroutine: sort { $a->weight <=> $b->weight or $a->sibling_weight <=> $b->sibling_weight } @configuration_hashes |