Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
MooseX::App::Simple(3) User Contributed Perl Documentation MooseX::App::Simple(3)

MooseX::App::Simple - Single command applications

  package MyApp;
  use MooseX::App::Simple qw(Config Color);
  parameter 'param' => (
      is            => 'rw',
      isa           => 'Str',
      documentation => q[First parameter],
      required      => 1,
  ); # Positional parameter
  option 'my_option' => (
      is            => 'rw',
      isa           => 'Bool',
      documentation => q[Enable this to do fancy stuff],
  ); # Option (--my_option)
  has 'private' => (
      is              => 'rw',
  ); # not exposed
  sub run {
      my ($self) = @_;
      # Do something
And then in some simple wrapper script:
 #!/usr/bin/env perl
 use MyApp;

MooseX-App-Simple works basically just as MooseX::App, however it does not search for commands and assumes that you have all options and parameters defined in the current class.
Read the Tutorial for getting started with a simple MooseX::App command line application.

 my $myapp_command = MyApp->new_with_options();
This method reads the command line arguments from the user and tries to create instantiate the current class with the ARGV-input. If it fails it returns a MooseX::App::Message::Envelope object holding an error message.
You can pass a hash or hashref of default params to new_with_options
 MyApp->new_with_options( %default );
Optionally you can pass a custom ARGV to this constructor
 my $obj = MyApp->new_with_options( ARGV => \@myARGV );
However, if you do so you must take care of propper @ARGV encoding yourself.

Same as in MooseX::App

Same as in MooseX::App. However plugings adding commands (eg. version) will not work with MooseX::App::Simple.

Read the Tutorial for getting started with a simple MooseX::App command line application.
See MooseX::Getopt and MooX::Options for alternatives
2017-09-24 perl v5.28.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.