use Getopt::Long;

$result = GetOptions(...option-descriptions...);

*****

&GetOptions("size=i" => \$offset);

*****

%optctl = (size => \$offset);

&GetOptions(\%optctl, "size=i");

*****

%optctl = ();

&GetOptions (\%optctl, "size=i");

*****

$optctl{"size"} = 24;

*****

%optctl = ();

&GetOptions (\%optctl, "sizes=i@");

*****

-sizes 24 -sizes 48

*****

$optctl{"sizes"} = [24, 48];

*****

&GetOptions ("size=i", "sizes=i@");

*****

-size 10 -sizes 24 -sizes 48

*****

$opt_size = 10;

@opt_sizes = (24, 48);

*****

foo|bar|blech=s

*****

&GetOptions(..."<>", \&mysub...);

*****

-foo arg1 -bar arg2 arg3

*****

-foo -bar arg1 arg2 arg3

*****

-foo arg1 -bar arg2 -- arg3

*****

-foo arg1 -bar arg2 arg3

*****

-foo -- arg1 -bar arg2 arg3

*****

use Getopt::Long 2.00;

*****

-one -two            # $opt_one = '', -two is next option

-one -2              # $opt_one = -2

*****

-bar -xxx            # $opt_bar = '', '-xxx' is next option

-foo -bar            # $opt_foo = '-bar'

-foo --              # $opt_foo = '--'

*****

+foo=blech           # $opt_foo = 'blech'

--bar=               # $opt_bar = ''

--bar=--             # $opt_bar = '--'

*****

$ret = &GetOptions ('foo=s', \$foo, 'bar=i', 'ar=s', \@ar);

*****

$bar = 'blech'

$opt_bar = 24

@ar = ('xx', 'yy')

*****

@ARGV = qw(-foo 1 bar -foo 2 blech);

&GetOptions("foo=i", \$myfoo, "<>", \&mysub);

*****

&mysub("bar") \fRwill be called (with $myfoo \fRbeing 1\fR)

&mysub("blech") \fRwill be called (with $myfoo \fRbeing 2\fR)

*****

@ARGV = qw(-foo 1 bar -foo 2 blech);

&GetOptions("foo=i", \$myfoo);

*****

$myfoo \fRbecomes 2

@ARGV  \fRbecomes qw(bar blech)

*****

use strict;

use vars qw($opt_rows $opt_cols);

use Getopt::Long;

