Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  APP::CMD::SETUP (3)

.ds Aq ’


App::Cmd::Setup - helper for setting up App::Cmd classes



version 0.330


App::Cmd::Setup is a helper library, used to set up base classes that will be used as part of an App::Cmd program. For the most part you should refer to the tutorial for how you should use this library.

This class is useful in three scenarios:
when writing your App::Cmd subclass Instead of writing:

  package MyApp;
  use base App::Cmd; can write:

  package MyApp;
  use App::Cmd::Setup -app;

The benefits of doing this are mostly minor, and relate to sanity-checking your class. The significant benefit is that this form allows you to specify plugins, as in:

  package MyApp;
  use App::Cmd::Setup -app => { plugins => [ Prompt ] };

Plugins are described in App::Cmd::Tutorial and App::Cmd::Plugin.

when writing abstract base classes for commands That is: when you write a subclass of App::Cmd::Command that is intended for other commands to use as their base class, you should use App::Cmd::Setup. For example, if you want all the commands in MyApp to inherit from MyApp::Command, you may want to write that package like this:

  package MyApp::Command;
  use App::Cmd::Setup -command;

Do not confuse this with the way you will write specific commands:

  package MyApp::Command::mycmd;
  use MyApp -command;

Again, this form mostly performs some validation and setup behind the scenes for you. You can use base if you prefer.

when writing App::Cmd plugins App::Cmd::Plugin is a mechanism that allows an App::Cmd class to inject code into all its command classes, providing them with utility routines.

To write a plugin, you must use App::Cmd::Setup. As seen above, you must also use App::Cmd::Setup to set up your App::Cmd subclass if you wish to consume plugins.

For more information on writing plugins, see App::Cmd::Manual and App::Cmd::Plugin.


Ricardo Signes <>


This software is copyright (c) 2015 by Ricardo Signes.

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

Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 APP::CMD::SETUP (3) 2015-10-24

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.