SYNOPSIS % gen-inline-pericmd-script /Perinci/Examples/gen_array -o gen-array % ./gen-array ERROR 400: Missing required argument(s): len % ./gen-array --help ... help message printed ... % ./gen-array 3 2 3 1 % ./gen-array 3 --json [200,"OK",[3,1,2],{}] DESCRIPTION EARLY DEVELOPMENT. COMPILATION DATA KEYS A hash structure, $cd, is constructed and passed around between routines during the generation process. It contains the following keys: * module_srcs => hash Generated script's module source codes. To reduce startup overhead and dependency, these modules' source codes are included in the generated script using the datapack technique (see Module::DataPack). Among the modules are Getopt::Long::EvenLess to parse command-line options, Text::Table::Tiny to produce text table output, and also a few generated modules to modularize the generated script's structure. * vars => hash Generated script's global variables. Keys are variable names (including the sigils) and values are initial variable values (undef means unitialized). * sub_srcs => hash Generated script's subroutine source codes. Keys are subroutines' names and values are subroutines' source codes. FAQ What about tab completion? Use App::GenPericmdCompleterScript to generate a separate completion script. If you use Dist::Zilla, see also Dist::Zilla::Plugin::GenPericmdScript which lets you generate script (and its completion script) during build. SEE ALSO Perinci::CmdLine, Perinci::CmdLine::Any, Perinci::CmdLine::Lite, Perinci::CmdLine::Classic App::GenPericmdScript