```{index} single: Getopt::Long::Parser ``` # Getopt::Long::Parser Getopt::Long object-oriented interface ## SYNOPSIS ```perl use Getopt::Long::Parser; my $p = Getopt::Long::Parser->new; $p->configure( %options ); if ( $p->getoptions( @options ) ) { ... } if ( $p->getoptionsfromarray( \@array, @options ) ) { ... } ``` Configuration options can be passed to the constructor: ```perl my $p = Getopt::Long::Parser->new( config => [ %options ] ); ``` ## DESCRIPTION `Getopt::Long::Parser` is an object-oriented interface to [Getopt::Long](../Long.md). See its documentation for configuration and use. Note that `Getopt::Long` and `Getopt::Long::Parser` are not object-oriented. `Getopt::Long::Parser` emulates an object-oriented interface, which should be okay for most purposes. ## CONSTRUCTOR ```perl my $p = Getopt::Long::Parser->new( %options ); ``` The constructor takes an optional hash with parameters. - config An array reference with configuration settings. See ["Configuring Getopt::Long" in Getopt::Long](../Long.md) for all possible settings. ## METHODS In the examples, `$p` is assumed to be the result of a call to the constructor. ### configure ```perl $p->configure( %settings ); ``` Update the current config settings. See ["Configuring Getopt::Long" in Getopt::Long](../Long.md) for all possible settings. ### getoptionsfromarray ```perl my $res = $p->getoptionsfromarray( $aref, @opts ); ``` ### getoptions ```perl my $res = $p->getoptions( @opts ); ``` The same as `getoptionsfromarray( \@ARGV, @opts )`. ## SEE ALSO [Getopt::Long](../Long.md) ## AUTHOR Johan Vromans ## COPYRIGHT AND DISCLAIMER This program is Copyright 1990,2015,2023 by Johan Vromans. This program is free software; you can redistribute it and/or modify it under the same terms as Perl.