Glib::OptionGroup - group of options for command line option parsing
my ($verbose, $source, $filenames) = (, undef, []); my $entries = [ { long_name => verbose, short_name => v, arg_type => none, arg_value => \$verbose, description => be verbose }, { long_name => source, short_name => s, arg_type => string, arg_value => \$source, description => set the source, arg_description => source }, [ filenames, f, filename-array, \$filenames ], ]; my $context = Glib::OptionContext->new (- urgsify your life); $context->add_main_entries ($entries, C); $context->parse (); # $verbose, $source, and $filenames are now updated according to the # command line options given
Glib::Boxed +----Glib::OptionGroup
$parameter_string
(string)
Creates a new option group from the given key-value pairs. The valid keys are name, description, help_description, and entries. The first three specify strings while the last one, entries, specifies an array reference of option entries. Example:
my $group = Glib::OptionGroup->new ( name => urgs, description => Urgs Urgs Urgs, help_description => Help with Urgs, entries => \@entries);
An option entry is a hash reference like this:
{ long_name => verbose, short_name => v, flags => [qw/reverse hidden in-main/], arg_type => none, arg_value => \$verbose, description => verbose desc., arg_description => verbose arg desc. }
Of those keys only long_name, arg_type, and arg_value are required. So this is a valid option entry too:
{ long_name => package-names, arg_type => string-array, arg_value => \$package_names }
For convenience, option entries can also be specified as array references containing long_name, short_name, arg_type, and arg_value:
[ filenames, f, filename-array, \$filenames ]
If you don't want an option to have a short name, specify undef for it:
[ filenames, undef, filename-array, \$filenames ]
$group
(Glib::OptionGroup)
$entries
(scalar) reference to an array of option
entries
$translation_domain
(string)
$help_enabled
(boolean)
$ignore_unknown
(boolean)
$group
(Glib::OptionGroup)
This method works directly on @ARGV
.
May croak with a Glib::Error in $@ on failure.
$func
(scalar)
$data
(scalar)
$domain
(string)
'none' / 'G_OPTION_ARG_NONE'
'string' / 'G_OPTION_ARG_STRING'
'int' / 'G_OPTION_ARG_INT'
'callback' / 'G_OPTION_ARG_CALLBACK'
'filename' / 'G_OPTION_ARG_FILENAME'
'string-array' / 'G_OPTION_ARG_STRING_ARRAY'
'filename-array' / 'G_OPTION_ARG_FILENAME_ARRAY'
'double' / 'G_OPTION_ARG_DOUBLE'
'int64' / 'G_OPTION_ARG_INT64'
'hidden' / 'G_OPTION_FLAG_HIDDEN'
'in-main' / 'G_OPTION_FLAG_IN_MAIN'
'reverse' / 'G_OPTION_FLAG_REVERSE'
'no-arg' / 'G_OPTION_FLAG_NO_ARG'
'filename' / 'G_OPTION_FLAG_FILENAME'
'optional-arg' / 'G_OPTION_FLAG_OPTIONAL_ARG'
'noalias' / 'G_OPTION_FLAG_NOALIAS'
Glib, Glib::Boxed
Copyright (C) 2003-2011 by the gtk2-perl team.
This software is licensed under the LGPL. See Glib for a full notice.