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

NAME

Acme::CPANModules::Getopt - List of modules that parse command-line options

VERSION

This document describes version 0.003 of Acme::CPANModules::Getopt (from Perl distribution Acme-CPANModules-Getopt), released on 2023-10-29.

ACME::CPANMODULES ENTRIES

Getopt::Std

Author: RJBS

Getopt::Long

Author: JV

Getopt::Tiny

Author: MUIR

Getopt::Long::Descriptive

Author: RJBS

Getopt::Long::More

Author: PERLANCAR

Getopt::Simple

Author: RSAVAGE

Getopt::Compact

Author: ASW

Opt::Imistic

Author: ALTREUS

Getopt::Valid

Author: UKAUTZ

Getopt::Std::Strict

Author: LEOCHARRE

Getopt::Declare

Author: FANGLY

Getopt::Euclid

Author: BIGPRESH

Docopt

Author: TOKUHIROM

Getopt::Auto

Author: GLEACH

Getopt::Lucid

Author: DAGOLDEN

Getopt::ArgvFile

Author: JSTENZEL

App::Options

Author: SPADKINS

MooseX::Getopt

Author: ETHER

MooX::Options

Author: REHSACK

Getopt::Attribute

Author: MARCEL

Getopt::Modular

Author: DMCBRIDE

Smart::Options

Author: MIKIHOSHI

Getopt::ArgParse

Author: MYTRAM

Getopt::Kingpin

Author: TAKASAGO

Getopt::Complete

Author: NNUTTER

Getopt::Long::Complete

Author: PERLANCAR

Getopt::Long::Subcommand

Author: PERLANCAR

Getopt::Long::Less

Author: PERLANCAR

Getopt::Long::EvenLess

Author: PERLANCAR

ACME::CPANMODULES FEATURE COMPARISON MATRIX

 +---------------------------+---------------+------------------+----------------------+---------------+----------+----------------+
 | module                    | auto_help *1) | auto_version *2) | uses_getopt_long *3) | uses_spec *4) | file *5) | subcommand *6) |
 +---------------------------+---------------+------------------+----------------------+---------------+----------+----------------+
 | Getopt::Std               | no *7)        | no *8)           | no                   | yes           | N/A      | N/A            |
 | Getopt::Long              | yes           | yes              | yes                  | yes           | N/A      | N/A            |
 | Getopt::Tiny              | no            | no               | no                   | yes           | N/A      | N/A            |
 | Getopt::Long::Descriptive | yes           | no               | yes                  | yes           | N/A      | N/A            |
 | Getopt::Long::More        | yes           | yes              | yes                  | yes           | no       | no             |
 | Getopt::Simple            | yes           | yes              | yes                  | yes           | N/A      | N/A            |
 | Getopt::Compact           | yes           | yes              | yes                  | yes           | N/A      | N/A            |
 | Opt::Imistic              | no            | no               | no                   | no            | N/A      | N/A            |
 | Getopt::Valid             | yes           | yes              | yes                  | yes           | N/A      | N/A            |
 | Getopt::Std::Strict       | no            | no               | no                   | yes           | N/A      | N/A            |
 | Getopt::Declare           | yes           | yes              | no                   | yes           | N/A      | N/A            |
 | Getopt::Euclid            | yes           | yes              | no                   | yes           | N/A      | N/A            |
 | Docopt                    | yes           | yes              | no                   | yes           | N/A      | N/A            |
 | Getopt::Auto              | yes           | yes              | no                   | yes           | N/A      | N/A            |
 | Getopt::Lucid             | no            | no               | no                   | yes           | N/A      | N/A            |
 | Getopt::ArgvFile          | yes           | yes              | yes                  | yes           | yes      | N/A            |
 | App::Options              | yes           | yes              | no                   | yes           | yes      | N/A            |
 | MooseX::Getopt            | yes           | yes              | yes *9)              | yes           | no *10)  | N/A            |
 | MooX::Options             | yes           | no               | yes *9)              | yes           | yes      | N/A            |
 | Getopt::Attribute         | yes           | yes              | yes                  | yes           | N/A      | N/A            |
 | Getopt::Modular           | yes           | yes              | yes                  | yes           | N/A      | N/A            |
 | Smart::Options            | yes           | no               | no                   | yes           | yes      | yes            |
 | Getopt::ArgParse          | no            | no               | yes                  | yes           | N/A      | yes            |
 | Getopt::Kingpin           | yes           | yes              | no                   | yes           | N/A      | yes            |
 | Getopt::Complete          | no            | no               | no                   | yes           | N/A      | N/A            |
 | Getopt::Long::Complete    | yes           | yes              | yes                  | yes           | N/A      | N/A            |
 | Getopt::Long::Subcommand  | yes           | yes              | yes                  | yes           | N/A      | yes            |
 | Getopt::Long::Less        | no            | no               | no                   | yes           | N/A      | N/A            |
 | Getopt::Long::EvenLess    | no            | no               | no                   | yes           | N/A      | N/A            |
 +---------------------------+---------------+------------------+----------------------+---------------+----------+----------------+

Notes:

1. auto_help: Whether the module can generate automatic help message (usually from spec) when user specifies something like --help
2. auto_version: Whether the module can generate automatic version message when user specifies something like --version
3. uses_getopt_long: Whether module uses Getopt::Long (or is Getopt::Long itself)
4. uses_spec: Whether user need to specify some sort of "spec" (list of options and potentially more details)
5. file: Whether the module supports getting options from a file
6. subcommand: Whether the module supports subcommands
7. Only calls main::HELP_MESSAGE
8. Only calls main::VERSION_MESSAGE
9. Uses Getopt::Long::Descriptive
10. Needs separate module: MooseX::ConfigFromFile or MooseX::SimpleConfig

FAQ

What is an Acme::CPANModules::* module?

An Acme::CPANModules::* module, like this module, contains just a list of module names that share a common characteristics. It is a way to categorize modules and document CPAN. See Acme::CPANModules for more details.

What are ways to use this Acme::CPANModules module?

Aside from reading this Acme::CPANModules module's POD documentation, you can install all the listed modules (entries) using cpanm-cpanmodules script (from App::cpanm::cpanmodules distribution):

 % cpanm-cpanmodules -n Getopt

Alternatively you can use the cpanmodules CLI (from App::cpanmodules distribution):

    % cpanmodules ls-entries Getopt | cpanm -n

or Acme::CM::Get:

    % perl -MAcme::CM::Get=Getopt -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n

or directly:

    % perl -MAcme::CPANModules::Getopt -E'say $_->{module} for @{ $Acme::CPANModules::Getopt::LIST->{entries} }' | cpanm -n

This Acme::CPANModules module also helps lcpan produce a more meaningful result for lcpan related-mods command when it comes to finding related modules for the modules listed in this Acme::CPANModules module. See App::lcpan::Cmd::related_mods for more details on how "related modules" are found.

HOMEPAGE

Please visit the project's homepage at https://metacpan.org/release/Acme-CPANModules-Getopt.

SOURCE

Source repository is at https://github.com/perlancar/perl-Acme-CPANModules-Getopt.

SEE ALSO

Acme::CPANModules - about the Acme::CPANModules namespace

cpanmodules - CLI tool to let you browse/view the lists

AUTHOR

perlancar <perlancar@cpan.org>

CONTRIBUTING

To contribute, you can send patches by email/via RT, or send pull requests on GitHub.

Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via:

 % prove -l

If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me.

COPYRIGHT AND LICENSE

This software is copyright (c) 2023 by perlancar <perlancar@cpan.org>.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

BUGS

Please report any bugs or feature requests on the bugtracker website https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANModules-Getopt

When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.