Unix and Linux Discussions Tagged with member_project |
|
Thread / Thread Starter |
Last Post |
Replies |
Views |
Forum |
|
|
|
1 |
11,758 |
What is on Your Mind? |
|
|
|
19 |
26,388 |
What is on Your Mind? |
|
|
|
0 |
43,499 |
OS X (Apple) |
|
|
|
1 |
12,320 |
Programming |
|
|
|
52 |
25,899 |
What is on Your Mind? |
|
|
|
8 |
11,569 |
What is on Your Mind? |
|
|
|
28 |
33,109 |
What is on Your Mind? |
|
|
|
5 |
37,688 |
Linux Benchmarks |
|
|
|
30 |
30,312 |
What is on Your Mind? |
|
|
|
7 |
19,220 |
Programming |
|
|
|
0 |
8,203 |
OS X (Apple) |
|
|
|
5 |
11,183 |
Programming |
|
|
|
8 |
12,169 |
What is on Your Mind? |
|
|
|
5 |
28,632 |
Hardware |
|
|
|
1 |
13,216 |
What is on Your Mind? |
|
|
|
10 |
14,633 |
Programming |
|
|
|
45 |
43,875 |
UNIX for Advanced & Expert Users |
|
|
|
0 |
15,733 |
Programming |
|
|
|
0 |
14,495 |
Programming |
|
|
|
2 |
16,153 |
Infrastructure Monitoring |
|
|
|
6 |
16,652 |
Programming |
|
|
|
6 |
12,008 |
Programming |
|
|
|
8 |
19,678 |
Programming |
|
|
|
0 |
13,803 |
Programming |
|
|
|
13 |
21,194 |
Programming |
|
|
|
7 |
19,113 |
Programming |
|
|
|
2 |
13,367 |
Shell Programming and Scripting |
|
|
|
8 |
28,846 |
OS X (Apple) |
|
|
|
1 |
10,323 |
Programming |
|
|
|
1 |
14,447 |
Shell Programming and Scripting |
|
|
|
10 |
19,660 |
Programming |
|
|
|
6 |
13,973 |
UNIX for Advanced & Expert Users |
|
|
|
1 |
12,458 |
Programming |
|
|
|
0 |
11,634 |
Programming |
|
|
|
8 |
18,198 |
Programming |
|
|
|
10 |
14,356 |
What is on Your Mind? |
|
|
|
6 |
12,037 |
Programming |
|
|
|
9 |
25,942 |
Programming |
|
|
|
0 |
30,554 |
Programming |
|
|
|
6 |
13,833 |
Programming |
App::Cmd::Setup(3pm) User Contributed Perl Documentation App::Cmd::Setup(3pm)
NAME
App::Cmd::Setup - helper for setting up App::Cmd classes
VERSION
version 0.318
OVERVIEW
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';
...you 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.
AUTHOR
Ricardo Signes <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 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.
perl v5.14.2 2012-05-05 App::Cmd::Setup(3pm)