Provided by: sympa_6.2.70~dfsg-2_amd64 bug

NAME

       Sympa::CLI - Base class of Sympa CLI modules

SYNOPSIS

         package Sympa::CLI::mycommand;
         use parent qw(Sympa::CLI);

         use constant _options   => qw(...);
         use constant _args      => qw(...);
         use constant _need_priv => 0;

         sub _run {
             my $class   = shift;
             my $options = shift;
             my @argv    = @_;

             #... Do the job...
             exit 0;
         }

       This will implement the function of sympa mycommand.

DESCRIPTION

       Sympa::CLI is the base class of the classes which defines particular command of command
       line utility.  TBD.

   Methods subclass should implement
       _options ( )
           Class method, overridable.  Returns an array to define command line options.  About
           the format see "Summary of Option Specifications" in Getopt::Long.

           By default no options are defined.

       _args ( )
           Class method, overridable.  Returns an array to define mandatory arguments.  TBD.

           By default no mandatory arguments are defined.

       _need_priv ( )
           Class method, 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 ( )
           Class method, 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 )
           Class method, 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 sympa mycommand subcommand.

SEE ALSO

       sympa(1).

HISTORY

       Sympa::CLI appeared on Sympa 6.2.68.