The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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:
      class:
        name: My::App
        attr:
          required:
            hard:
              f: foo
            soft:
              h: home
          optional:
          flags:
            dry-run: dry_run_flag
      method:
        name: my_method
        args:
          required: 
            hard: 
            soft:
          optional:
          flags: