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

Changes for version 1.17 - 2014-07-23

  • REMOVED FEATURES
    • Remove scripts strip-result-env-* (users can use 'jq' or other tools to do this).
    • Move script peri-run to Perinci-CmdLine-Any.
    • Remove --action (see note in the Incompatible Changes section about the change in the way command-line options are parsed).
    • Move examples/ to Perinci-CmdLine-Examples, to help reduce dependencies.
  • INCOMPATIBLE CHANGES
    • To reduce confusion and make things simpler, change the way command-line options are parsed. Argument options which happen to clash with common options (e.g. --help, --version) are now renamed to --help-arg (or --help-arg2 and so on) so no options clash with each other. Thus, --action is no longer needed.
  • INTERNAL
    • Refactoring: split some functionality to Perinci::CmdLine::Base (in separate dist) for creating Perinci::CmdLine::Lite, a lightweight alternative that doesn't use Moo, Perinci::Access, nor Perinci::Result::Format. There are now Perinci-CmdLine and Perinci-CmdLine-Lite distributions.
    • Refactoring: run() and run_*() now returns enveloped response instead of int. All output is now returned as string by run_*() instead of printed directly (except for streaming output).
    • Refactoring: No long uses internal attributes like $self->{_subcommand}. Instead, now a per-request (per-run()) stash/hash $r is passed around. This is not unlike the technique used in Apache handlers and Data::Sah. It's cleaner because the per-request state is isolated from the object itself.
    • Refactoring: help-generating methods now separated into a separate role (Perinci::CmdLine::Role::Help), just to be more organized.
  • DOCUMENTATION
    • Split some documentation (FAQ) from Perinci::CmdLine to Perinci::CmdLine::Manual and split to Perinci-CmdLine-Base so it can be installed without requiring too many dependencies.
    • Write examples Perinci::CmdLine::Manual::Examples.

Documentation

Display command-line usage of a Riap function

Modules

Rinci/Riap-based command-line application framework
Help-related routines