App-Framework-Lite
view release on metacpan or search on metacpan
lib/App/Framework/Lite.pm view on Meta::CPAN
=item Application directories
The framework automatically adds the location of the script (following any links) to the Perl search path. This means that perl modules
can be created in subdirectories under the application's script making the application self-contained.
The directories used for loading personalities/extensions/features also include the script install directory, meaning that new personalities/extensions/features
can also be provided with a script.
=back
=head2 Using This Module
The minimum you need is:
use App::Framework::Lite ;
Optionally, you can specify arguments to the underlying features by appending a string to the 'use' pragma. For exanmple:
use App::Framework::Lite '+Args(open=none)' ;
=head3 Creating Application Object
There are two ways of creating an application object and running it. The normal way is:
# Create application and run it
App::Framework::Lite->new()->go() ;
As an alternative, the framework creates a subroutine in the calling namespace called B<go()> which does the same thing:
# Create application and run it
go() ;
You can use whatever takes your fancy. Either way, the application object will end up calling the user-defined application subroutines
=head3 Application Subroutines
Once the application object has been created it can then be run by calling the 'go()' method. go() calls the application's registered functions
in turn:
=over 2
=item * app_start()
Called at the start of the application. You can use this for any additional set up (usually of more use to extension developers)
=item * app()
Called once all of the arguments and options have been processed
=item * app_end()
Called when B<app()> terminates or returns (usually of more use to extension developers)
=back
The framework looks for these 3 functions to be defined in the script file. The functions B<app_start> and B<app_end> are optional, but it is expected that B<app> will be defined
(otherwise nothing happens!).
=head3 Setup
The application settings are entered into the __DATA__ section at the end of the file. All program settings are grouped under sections which are introduced by '[section]' style headings. There are many
different settings that can be set using this mechanism, but the framework sets most of them to useful defaults.
For more details see L</Options> and L</Args>.
=head4 Summary
This should be a single line, concise summary of what the script does. It's used in the terse man page created by pod2man.
=head4 Description
As you'd expect, this should be a full description, user-guide etc. on what the script does and how to do it. Notice that this example
has used one (of many) of the variables available: $name (which expands to the script name, without any path or extension).
=head4 Example
An example script setup is:
__DATA__
[SUMMARY]
An example of using the application framework
[ARGS]
* infile=f Input file
Should be set to the input file
* indir=d Input dir
Should be set to the input dir
[OPTIONS]
-table=s Table [default=listings2]
Sql table name
-database=s Database [default=tvguide]
Sql database name
[DESCRIPTION]
B<$name> is an example script.
=head2 Args
Args feature that provides command line arguments handling.
Command line arguments are defined once in a text format and this text format generates both the command line arguments data, but also the man pages,
( run in 1.341 second using v1.01-cache-2.11-cpan-39bf76dae61 )