App-Cmd reviews

RSS | Module Info

App-Cmd (0.323) ****

App-Cmd is a great module to define a good structure of your set of commands. Options, documentation and functionality are neatly packed together.

The only hitch is that options are bundled by default (i.e. -xy is options -x and -y, -foo is not understood as --foo). This default
behavior does not match Getopt::Long behavior.

The non bundled option can be setup by adding

{ getopt_conf => [ qw/no_bundling/ ] }
to the option specification in opt_spec sub.

App-Cmd (0.319) ****

If you have a complex command line thing with multiple sub commands (like 'git clone', 'git push' plus options and arguments) this is the way to go.

As usual, rjbs writes highly useful, slightly cryptic code (a little too compact for my taste) that at the beginning wasn't particularly well documented, although documentation is getting better. (He just updated with a few of my pod suggestions).

The module has a pretty good test suite these days which is reason enough to not roll your own command line launcher.

This modules seems to be widely used today:
which makes it look a bit more like standard.

Toby Inkster says in another review that App::Cmd is "the PSGI of the command-line world". Of course, it isn't that. It's not a specification, and it's not even as well thought out as Plack, but it's still the way to go if you want 'cmd subcmd' right now.

App-Cmd (0.318) *****

While the structure of the documentation could stand to be improved (the Tutorial document is more a collection of random extra thoughts that couldn't be slotted into the documentation elsewhere), this makes building command-line interfaces a breeze.

It's the PSGI of the command-line world.