Getopt::Yath::State(3pm)

NAME
Getopt::Yath::State - Representation of the result of parsing command-line options.

DESCRIPTION
This object is returned by "parse_options" in Getopt::Yath (and "process_args" in Getopt::Yath::Instance). It holds the parsed settings, any skipped or remaining arguments, the stop token (if any), environment variable changes, cleared options, and the modules whose options were used.

This object is a blessed hash, so hash-key access (e.g., "$state->{settings}") continues to work for backwards compatibility. However, accessor methods are preferred.

SYNOPSIS
    my $state = parse_options(\@ARGV, stops => ['--']);

    my $settings = $state->settings;     # Getopt::Yath::Settings object
    my $remains  = $state->remains;      # args after a stop token
    my $skipped  = $state->skipped;      # skipped non-options
    my $stop     = $state->stop;         # what token stopped parsing
    my $env      = $state->env;          # env vars that were/would be set
    my $cleared  = $state->cleared;      # options cleared via --no-opt
    my $modules  = $state->modules;      # modules whose options were used

METHODS

$settings = $state->settings
    Returns the Getopt::Yath::Settings object containing all parsed option values organized by group.

$arrayref = $state->skipped
    Returns an arrayref of arguments that were skipped during parsing (when "skip_non_opts" or "skip_invalid_opts" is enabled).

$arrayref = $state->remains
    Returns an arrayref of arguments that were not processed, typically those appearing after a stop token such as "--".

$string = $state->stop
$state->set_stop($token)
    Returns the token that caused parsing to stop (e.g., "--", "::"), or "undef" if parsing completed normally. "set_stop" is used internally during parsing.

$hashref = $state->env
    Returns a hashref of environment variable changes. Keys are variable names, values are what was (or would have been, with "no_set_env") set. A value of "undef" means the variable was cleared.

$hashref = $state->cleared
    Returns a hashref tracking which options were explicitly cleared via "--no-opt". Structure is "{ group_name => { field_name => 1 } }".

$hashref = $state->modules
    Returns a hashref of modules whose options were used during parsing. Keys are module names, values are usage counts.

SOURCE
The source code repository for Getopt-Yath can be found at <http://github.com/Test-More/Getopt-Yath/>.

MAINTAINERS

Chad Granum <exodist@cpan.org>

AUTHORS
Chad Granum <exodist@cpan.org>

COPYRIGHT
Copyright Chad Granum <exodist7@gmail.com>.

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

See <http://dev.perl.org/licenses/>