MooX::ConfigFromFile::Role::HashMergeLoaded - allows better merge strategies for multiple config files
Contents
Acknowledgements
Attributes
config_merge_behavior
This attribute contains the behavior which will config_merger use to merge particular loaded
configurations.
config_merger
This attribute contains the instance of Hash::Merge used to merge the raw_loaded_config into
loaded_config.
loaded_config
This role modifies the builder for loaded_config by merging the items from raw_loaded_config in order of
appearance. It is assumed that more relevant config files are in front and are filled up with defaults in
following ones.
Description
This is an additional role for MooX::ConfigFromFile to allow better merging of deep structures.
License And Copyright
Copyright 2015-2018 Jens Rehsack.
This program is free software; you can redistribute it and/or modify it under the terms of either: the
GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See <http://dev.perl.org/licenses/> for more information.
perl v5.36.0 2022-12-11 MooX::ConfigFr...HashMergeLoaded(3pm)
Name
MooX::ConfigFromFile::Role::HashMergeLoaded - allows better merge strategies for multiple config files
Synopsis
package MyApp::Cmd::TPau;
use DBI;
use Moo;
use MooX::Cmd with_configfromfile => 1;
with "MooX::ConfigFromFile::Role::HashMergeLoaded";
has csv => (is => "ro", required => 1);
sub execute
{
my $self = shift;
DBI->connect("DBI::csv:", undef, undef, $self->csv);
}
__END__
$ cat etc/myapp.json
{
"csv": {
"f_ext": ".csv/r",
"csv_sep_char": ";",
"csv_class": "Text::CSV_XS"
}
}
$cat etc/myapp-tpau.json
{
"csv": {
"f_dir": "data/tpau"
}
}
