Быстрый пример:
#! /usr/bin/perl
use warnings;
use strict;
use Getopt::Long;
sub usage { "Usage: $0 [--option=VALUE] ARG1 ARG2 ARG3\n" }
my $option = "default";
GetOptions("option=s", \$option)
or die usage;
die usage unless @ARGV == 3;
print "$0: option=$option: @ARGV\n";
Getopt::Long
достаточно гибок в том, что он примет:
$ ./cmd
Usage: ./cmd [--option=VALUE] ARG1 ARG2 ARG3
$ ./cmd 1 2 3
./cmd: option=default: 1 2 3
$ ./cmd --option=foo 4 5 6
./cmd: option=foo: 4 5 6
$ ./cmd -option=bar 7 8 9
./cmd: option=bar: 7 8 9
$ ./cmd -option check a b c
./cmd: option=check: a b c