Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
App::Cmd::Command(3)  User Contributed Perl Documentation App::Cmd::Command(3)

NAME
       App::Cmd::Command - a base class	for App::Cmd commands

VERSION
       version 0.331

METHODS
   prepare
	 my ($cmd, $opt, $args)	= $class->prepare($app,	@args);

       This method is the primary way in which App::Cmd::Command objects are
       built.  Given the remaining command line	arguments meant	for the
       command,	it returns the Command object, parsed options (as a hashref),
       and remaining arguments (as an arrayref).

       In the usage above, $app	is the App::Cmd	object that is invoking	the
       command.

   new
       This returns a new instance of the command plugin.  Probably only
       "prepare" should	use this.

   execute
	 $command_plugin->execute(\%opt, \@args);

       This method does	whatever it is the command should do!  It is passed a
       hash reference of the parsed command-line options and an	array
       reference of left over arguments.

       If no "execute" method is defined, it will try to call "run" -- but it
       will warn about this behavior during testing, to	remind you to fix the
       method name!

   app
       This method returns the App::Cmd	object into which this command is
       plugged.

   usage
       This method returns the usage object for	this command.  (See
       Getopt::Long::Descriptive).

   command_names
       This method returns a list of command names handled by this plugin. The
       first item returned is the 'canonical' name of the command.

       If this method is not overridden	by an App::Cmd::Command	subclass, it
       will return the last part of the	plugin's package name, converted to
       lowercase.  For example,	YourApp::Cmd::Command::Init will, by default,
       handle the command "init".

       Subclasses should generally get the superclass value of "command_names"
       and then	append aliases.

   usage_desc
       This method should be overridden	to provide a usage string.  (This is
       the first argument passed to "describe_options" from
       Getopt::Long::Descriptive.)

       If not overridden, it returns "%c COMMAND %o";  COMMAND is the first
       item in the result of the "command_names" method.

   opt_spec
       This method should be overridden	to provide option specifications.
       (This is	list of	arguments passed to "describe_options" from
       Getopt::Long::Descriptive, after	the first.)

       If not overridden, it returns an	empty list.

   validate_args
	 $command_plugin->validate_args(\%opt, \@args);

       This method is passed a hashref of command line options (as processed
       by Getopt::Long::Descriptive) and an arrayref of	leftover arguments.
       It may throw an exception (preferably by	calling	"usage_error", below)
       if they are invalid, or it may do nothing to allow processing to
       continue.

   usage_error
	 $self->usage_error("This command must not be run by root!");

       This method should be called to die with	human-friendly usage output,
       during "validate_args".

   abstract
       This method returns a short description of the command's	purpose.  If
       this method is not overridden, it will return the abstract from the
       module's	Pod.  If it can't find the abstract, it	will look for a
       comment starting	with "ABSTRACT:" like the ones used by
       Pod::Weaver::Section::Name.

   description
       This method can be overridden to	provide	full option description. It is
       used by the built-in help command.

       If not overridden, it uses Pod::Usage to	extract	the description	from
       the module's Pod	DESCRIPTION section or the empty string.

AUTHOR
       Ricardo Signes <rjbs@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2016 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.32.1			  2016-07-17		  App::Cmd::Command(3)

NAME | VERSION | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=App::Cmd::Command&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help