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

NAME

MooseX::App::ParsedArgv - Parses @ARGV

SYNOPSIS

 use MooseX::App::ParsedArgv;
 my $argv = MooseX::App::ParsedArgv->instance; 
 
 foreach my $option ($argv->available('option')) {
     say "Parsed ".$option->key;
 }

DESCRIPTION

This is a helper class that holds all options parsed from @ARGV. It is implemented as a singleton. Unless you are developing a MooseX::App plugin you usually do not need to interact with this class.

METHODS

new

Create a new MooseX::App::ParsedArgv instance. Needs to be called as soon as possible.

instance

Get the current MooseX::App::ParsedArgv instance. If there is no instance a new one will be created.

argv

Accessor for the inal @ARGV.

hints

ArrayRef of attributes that tells the parser which attributes should be regarded as flags without values.

first_argv

Shifts the current first element from ARGV.

available

 my @options = $self->available($type);
 OR
 my @options = $self->available();

Returns an array of all parsed options or parameters that have not yet been consumed. The array elements will be MooseX::App::ParsedArgv::Element objects.

consume

 my $option = $self->consume($type);
 OR
 my $option = $self->consume();

Returns the first option/parameter of the local @ARGV that has not yet been consumed as a MooseX::App::ParsedArgv::Element object.

elements

Returns all parsed options and parameters.

extra

Returns an array reference of unconsumed positional parameters and extra values.