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 initinal @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.