Sympa::CLI is the base class of the classes which defines particular command of command line utility.
TBD.
Methodssubclassshouldimplement
_options ( )
Classmethod, overridable. Returns an array to define command line options. About the format see
"Summary of Option Specifications" in Getopt::Long.
By default general options are defined and they always take precedence over the definition in
subclass.
_args ( )
Classmethod, overridable. Returns an array to define mandatory arguments. TBD.
By default no mandatory arguments are defined.
_need_priv ( )
Classmethod, overridable. If this returns true value (the default), the program tries getting
privileges of Sympa user, prepare database connection, loading main configuration and then setting
language according to configuration. Otherwise, it sets language according to locale setting of
console.
_log_to_stderr ( )
Classmethod, overridable. If this returns true value, output by logging facility will be redirected
to standard error output (stderr).
By default redirection is disabled.
_run ( \$options, @argv )
Classmethod, mandatory. If the program is invoked, command line options are parsed as _options()
defines, arguments are checked as _args() defines and this method is called.
Subcommands
To implement a subcommand, simply create a submodule inheriting the module for parent command:
package Sympa::CLI::mycommand::subcommand;
use parent qw(Sympa::CLI::mycommand);
...
Then this will implement the function of sympamycommandsubcommand.