NAME
Perinci::CmdLine::Util::Config - Utility routines related to config files
VERSION
This document describes version 1.724 of Perinci::CmdLine::Util::Config (from Perl distribution Perinci-CmdLine-Util-Config), released on 2020-10-21.
FUNCTIONS
get_args_from_config
Usage:
get_args_from_config(%args) -> [status, msg, payload, meta]
config
is a HoH (hashes of hashrefs) produced by reading an INI (IOD) configuration file using modules like Config::IOD::Reader.
Hashref argument args
will be set by parameters in config
, while plugins
will be set by parameters in [plugin=...]
sections in config
. For example, with this configuration:
arg1=val1
arg2=val2
-special_arg1=val3
-special_arg2=val4
[plugin=DumpArgs]
-event=before_validation
[plugin=Foo]
arg1=val1
args
will become:
{
arg1=>"val1",
arg2=>"val2",
-special_arg1=>"val3",
-special_arg2=>"val4",
}
and plugins
will become:
[
'DumpArgs@before_validation' => {},
Foo => {arg1=>val},
]
This function is not exported by default, but exportable.
Arguments ('*' denotes required arguments):
args => hash
common_opts => any
config => any
config_profile => any
meta => any
meta_is_normalized => any
plugins => array
r => any
subcommand_name => any
Returns an enveloped result (an array).
First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.
Return value: (any)
get_default_config_dirs
Usage:
get_default_config_dirs() -> [status, msg, payload, meta]
This function is not exported by default, but exportable.
No arguments.
Returns an enveloped result (an array).
First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.
Return value: (any)
read_config
Usage:
read_config(%args) -> [status, msg, payload, meta]
This function is not exported by default, but exportable.
Arguments ('*' denotes required arguments):
config_dirs => any
config_filename => any
config_paths => any
hook_section => any
program_name => any
Returns an enveloped result (an array).
First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.
Return value: (any)
HOMEPAGE
Please visit the project's homepage at https://metacpan.org/release/Perinci-CmdLine-Util-Config.
SOURCE
Source repository is at https://github.com/perlancar/perl-Perinci-CmdLine-Util-Config.
BUGS
Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Perinci-CmdLine-Util-Config
When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.
AUTHOR
perlancar <perlancar@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2020, 2019, 2018, 2017 by perlancar@cpan.org.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.