NAME
CLI::Driver
SYNOPSIS
This is a module to drive your cli tool from a yaml config file.
use CLI::Driver;
my $cli = CLI::Driver->new;
my $action = $cli->get_action( name => $ActionFromArgv );
if ($action) {
$action->do;
}
else {
$Driver->fatal("failed to find action in config file");
}
### cli-driver.yml example
do-something:
desc: "Action description"
class:
name: My::App
attr:
required:
hard:
f: foo
soft:
h: home
a: '@array_arg'
optional:
flags:
dry-run: dry_run_flag
method:
name: my_method
args:
required:
hard:
soft:
optional:
flags:
help:
args:
f: "Additional help info for argument 'f'"
examples:
- "-f foo -a val1 -a val2 --dry-run"