Config::Hierarchical

Hierarchical configuration container
Download

Config::Hierarchical Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Nadim Khemir
  • Publisher web site:
  • http://search.cpan.org/~nkh/

Config::Hierarchical Tags


Config::Hierarchical Description

Hierarchical configuration container Config::Hierarchical is a Perl module that implements a configuration variable container. The container has multiple categories which are declared in decreasing priority order.A variable can exist in multiple categories within the container. When queried for a variable, the container will return the variable in the category with the highest priority.When setting a variable, the container will display a warning message if it is set in a category with lower priority than a category already containing the same variable.Priority overriding is also possible.SYNOPSIS use Config::Hierarchical ; my $config = new Config::Hierarchical(); # or my $config = new Config::Hierarchical ( NAME => 'some_namespace', VERBOSE => 0, DISABLE_SILENT_OPTIONS => 0, CATEGORY_NAMES => , DEFAULT_CATEGORY => 'CURRENT', WARN_FOR_EXPLICIT_CATEGORY => 0, GET_CATEGORIES => { Inheritable => , }, INTERACTION => { INFO => \&sub, WARN => \&sub, DIE => \&sub, DEBUG => \&sub, }, SET_VALIDATOR => \&my_set_validator, VALIDATORS => , NAMES => , VALIDATORS => { alphanumeric => \&alphanumeric, other_validator => \&other_validator, }, }, { CATEGORY_NAMES => , NAMES => , VALIDATORS => {only_gcc => \&only_gcc,}, }, ], INITIAL_VALUES => , LOCKED_CATEGORIES => , ) ; $config->Set(NAME => 'CC', VALUE => 'gcc') ; $config->Set(NAME => 'CC', VALUE => 'gcc', CATEGORY => 'CLI') ; $config->Set(NAME => 'CC', VALUE => 'gcc', FORCE_LOCK => 1) ; $config->Set(NAME => 'CC', VALUE => 'gcc', SILENT_OVERRIDE => 1, COMMENT => 'we prefer gcc') ; $config->Exists(NAME => 'CC') ; $config->GetKeyValueTuples() ; $config->SetMultiple ( {FORCE_LOCK => 1} {NAME => 'CC', VALUE => 'gcc', SILENT_OVERRIDE => 1}, {NAME => 'LD', VALUE => 'ld'}, ) ; $config->Set(CC => 'gcc') ; $value = $config->Get(NAME => 'CC') ; $value = $config->Get(NAME => 'NON_EXISTANT', SILENT_NOT_EXISTS => 1) ; @values = $config->GetMultiple(@config_variables_names) ; @values = $config->GetMultiple({SILENT_NOT_EXISTS => 1}, @config_variables_names) ; $hash_ref = $config->GetHashRef() ; # no warnings $config->GetInheritable() ; $config->SetDisableSilentOptions(1) ; $config->LockCategories('PBS') ; $config->UnlockCategories('CLI', 'PBS') ; $config->IsCategoryLocked('PBS') ; $config->Lock(NAME => 'CC') ; $config->Unlock(NAME => 'CC', CATEGORY => 'CLI') ; $config->IsLocked(NAME => 'CC') ; $history = $config->GetHistory(NAME => 'CC') ; $dump = $config->GetDump() ; Requirements: · Perl


Config::Hierarchical Related Software