The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 0.04001 - 2018-03-08

  • Features
    • Multi-language support through Locale::Maketext.
      • Files: many
    • Add min_len and max_len restrictions to Term::CLI::Argument::String.
      • Files: lib/Term/CLI/Argument/String.pm
    • Improve usage text formatting.
      • Files: lib/Term/CLI/Role/HelpText.pm
  • New Modules
    • Add Term::CLI::L10N
    • Add Term::CLI::L10N::en
    • Add Term::CLI::L10N::nl
      • Files: lib/Term/CLI/L10N.pm lib/Term/CLI/L10N/en.pm lib/Term/CLI/L10N/nl.pm
    • Add Term::CLI::Argument::Bool
      • Files: lib/Term/CLI/Argument/Bool.pm
  • Bug Fixes
    • Fix various (POD and diagnostic message) typos.
    • Don't use POSIX's strtod() and strtol() for number conversions; rely on regex and looks_like_number() instead.
      • Files: lib/Term/CLI/Argument/Number.pm lib/Term/CLI/Argument/Number/Float.pm lib/Term/CLI/Argument/Number/Int.pm
    • Tests now force the 'en' language where necessary. Error messages are hard to verify without forcing a particular language.
      • Files: lib/Term/CLI/Role/HelpText.pm
    • Fix usage text with variable number of arguments.
      • Files: lib/Term/CLI/Role/HelpText.pm
    • Check SUPER's validate with defined(), not boolean eval.
      • Files: lib/Term/CLI/Argument/Enum.pm
    • Fix "=over" size in command summary to a maximum.
      • Files: lib/Term/CLI/Command/Help.pm
    • Fix test on FreeBSD - closes #2
      • Error message from "cat" on invalid option differs from Linux to FreeBSD. Just check for "cat:" in the error message instead.
      • Files: t/065-Term-CLI-Command-Help.t
    • Fix tests for non-English locales - closes #3
      • Tests were assuming that external commands communicate their diagnostics in English.
      • Files: t/065-Term-CLI-Command-Help.t t/075-Term-CLI-History.t
    • Turn off "-T"
      • Files: t/065-Term-CLI-Command-Help.t

Documentation

introduction to Term::CLI class structure
tips, tricks, and examples for Term::CLI

Modules

CLI interpreter based on Term::ReadLine
generic parent class for arguments in Term::CLI
class for "boolean" arguments in Term::CLI
class for "enum" string arguments in Term::CLI
class for file name arguments in Term::CLI
base class for numerical arguments in Term::CLI
class for floating point arguments in Term::CLI
class for integer arguments in Term::CLI
class for basic string arguments in Term::CLI
generic base class for Term::CLI classes
Class for (sub-)commands in Term::CLI
A generic 'help' command for Term::CLI
generic parent class for elements in Term::CLI
localizations for Term::CLI
English localizations for Term::CLI
Dutch localizations for Term::CLI
maintain a single Term::ReadLine object
Role for (sub-)commands in Term::CLI
Role for (sub-)commands in Term::CLI
Role for generating help text in Term::CLI