The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

Class::Usul::Programs - Re-composable support for command line programs

Synopsis

   # In YourClass.pm
   use Moo;

   extends q(Class::Usul::Programs);

   # In yourProg.pl
   use YourClass;

   exit YourClass->new_with_options( appclass => 'YourApplicationClass' )->run;

Description

This base class provides methods common to command line programs. The constructor can initialise a multi-lingual message catalogue if required

Configuration and Environment

Supports this list of command line options:

home

Directory containing the configuration file

Defines these attributes;

config_class

Overrides the default in the base class, setting it to Class::Usul::Config::Programs

Subroutines/Methods

BUILDARGS

Called just before the object is constructed this method modifier determines the location of the configuration file

BUILD

This empty subroutine exists to allow for modification by the applied roles

Diagnostics

Turning debug on produces log output at the debug level

Dependencies

Class::Usul::Options
Class::Usul::TraitFor::DebugFlag
Class::Usul::TraitFor::OutputLogging
Class::Usul::TraitFor::Prompting
Class::Usul::TraitFor::RunningMethods
Class::Usul::TraitFor::Usage
Moo

Incompatibilities

There are no known incompatibilities in this module

Bugs and Limitations

There are no known bugs in this module. Please report problems to http://rt.cpan.org/NoAuth/Bugs.html?Dist=Class-Usul. Patches are welcome

Author

Peter Flanigan, <pjfl@cpan.org>

License and Copyright

Copyright (c) 2016 Peter Flanigan. All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE