cat3/GetOptions.3pm

GETOPTIONS(3) USER COMMANDS GETOPTIONS(3)
NAME
Getopt::Long, GetOptions - 拡張した getopt 処理
SYNOPSIS
use Getopt::Long;
$result = GetOptions (...option-descriptions...);
DESCRIPTION
このパッケージは、GetOptions() という拡張 getopt 関数をイン
プリメントするものです。　この関数は、新しい構文 (オプション
をまとめず、長いオプション名) を追加するものです。　伝統的な
ものや GNU や POSIX の getopt() 関数のよりよい機能性をインプ
リメントするものです。
option-description は、Perl の識別子として有効なものでなけれ
ばならず、引数記述子を付けることができます。
引数記述子には、以下のものが使用できます:
<none> オプションは引数をとらない
! オプションは引数をとらず、否定できる
=s :s オプションは必須の(=) か省略可能な(:) 文字列引数をとる
=i :i オプションは必須の(=) か省略可能な(:) 整数引数をとる
=f :f オプションは必須の(=) か省略可能な(:) 実数引数をとる
"name" というオプションが指定されると、Prel の変数 $opt_name
が、指定された値に設定されます。　呼びもとのプログラムでは、
この変数を使って、該当のオプションが指定されたかを調べること
ができます。　引数をとらないオプションには、1 が設定されます。
省略可能な引数をとるオプションでは、引数が無いときには、定義
済みとなりますが、'' が設定されます。
引数記述子に "@" を付け加えると、オプションは配列として扱わ
れます。　値は設定されるのではなく、配列 @opt_name に push
されます。
値をとらないオプションには、"!" 引数記述子を指定することがで
き、これによって否定オプションが使えます。　つまり、"foo!"
とすると、-foo ($opt_foo が 1 になる) と -nofoo ($opt_foo が
0 になる) が許容されるようになります。
オプション名は、"foo|bar|blech=s" のように '|' で区切ったオ
プション名のリストにすることもできます。　この例では、オプシ
ョン 'bar' とオプション 'blech' は $opt_foo を設定することに
なります。
コンフィギュレーション変数 $autoabbrev の設定によって、オプ
ション名を、ユニークな範囲で省略することができるようになりま
す。
Perl module manpages Last change: Release 5.0 Patchlevel 00 1
GETOPTIONS(3) USER COMMANDS GETOPTIONS(3)
オプション名には、(pcc-struct-return のように) ハイフンを使
うことができ、対応する Perl 変数では、($opt_pcc_struct_return
のように) 下線に変換されます。　単独のハイフンが使われたとき
も、オプションとして扱われ、Perl の変数 $opt_ に対応します。
ハイフンを 2 つ並べ、"--" とするとオプションリストの終わりを
示します。
リストの最初のオプションが英字以外の文字だけからなるときは、
それが一般のオプション開始文字列として解釈されます。　その開
始文字列のいずれかの文字で始まるものがオプションとなります。
デフォルトのオプション開始文字は、(伝統的な) "-"、(POSIX の)
"--"、(使われなくなってきていますが、GNU の) "+" が使えます。
"--" で始まるオプションは、"--foo=bar" のように "=" で区切っ
て、引数を付けることができます。
コンフィギュレーション変数 $getopt_compat をゼロ以外に設定す
ると、"+" で始まるオプションも "+foo=bar" のように引数をとる
ことができます。
この関数がエラーを検出すると、リターン値として 0 (偽) を返し
ます。
EXAMPLES
オプション "one:i" (つまり、省略可能な整数引数をとる) なら、
次のように解釈されます:
-one -two -> $opt_one = '' で -two は次のオプション
-one -2 -> $opt_one = -2
また、"foo=s" かつ "bar:s" なら:
-bar -xxx -> $opt_bar = '' で '-xxx' は次のオプション
-foo -bar -> $opt_foo = '-bar'
-foo -- -> $opt_foo = '--'
となります。
GNU や POSIX のフォーマットでは、オプション名と値は、組み合
わせることができます:
+foo=blech -> $opt_foo = 'blech'
--bar= -> $opt_bar = ''
--bar=-- -> $opt_bar = '--'
$autoabbrev オプション名をユニークな範囲で省略できるようにし
ます。　環境変数 POSIXLY_CORRECT が設定されない
限り、デフォルトは 1 です。
Perl module manpages Last change: Release 5.0 Patchlevel 00 2
GETOPTIONS(3) USER COMMANDS GETOPTIONS(3)
$getopt_compat
'+' でオプションを開始できるようにします。　環境
変数 POSIXLY_CORRECT が設定されない限り、デフォ
ルトは 1 です。
$option_start
オプションの開始を示す正規表現です。　環境変数
POSIXLY_CORRECT が設定されていれば、デフォルトは
(--|-) で、設定されていなければ、(--|-|\+) です。
$order オプション以外のものとオプションを混ぜて使えるか
を指定します。　環境変数 POSIXLY_CORRECT が設定
されていれば、デフォルトは $REQUIRE_ORDER で、設
定されていなければ、$PERMUTE です。
$ignorecase オプションとマッチングするとき、大文字小文字を区
別しないことを指定します。　デフォルトは 1 です。
$debug デバッグ出力を可能にします。　デフォルトは 0 で
す。
NOTE
まだ、Exporter を使っていません。　パッケージさえも使ってい
ません。　つまり、本当のモジュールではありません。
Perl module manpages Last change: Release 5.0 Patchlevel 00 3