Getopt:Long とは
伝統的なものや GNU や POSIX の getopt() 関数のよりよい機能性をインプリメントするもの.Getopt::Std は 1 文字しかオプションの文字が取れない.
Getopt::Long は `-' や `--' , `+' で始まる 1 文字以上のオプションが取れる.
具体的な使用法
my %options = ( help => 0);
$ret = GetOptions(\%options,\$pattern,'help|h');
if ($options{help}){ &usage(); }配列に入れたい場合
最後に `@' を入れるex)
$ret = GetOptions('file|f=s@',\@filelist);--file /where/foo --file /where/var というオプションで
@filelist =['/where/foo','/where/var']; と同じ
引数指定子
| 引数指定子 | 引数 | 引数の省略 | 引数省略時の値 | 備考 |
| <無し> | 無 | --- | --- | オプションが指定されると,リンク先の変数が 1 になる. |
| ! | 無 | --- | --- | 前に`no' を付けると否定できる.ex) --nosize とか |
| =s | 文字列 | 省略不可 | --- | 文字列の先頭が-または--で始まっていてもオプションとはみなされない. |
| :s | 文字列 | 省略可能 | '' | 文字列の先頭が-または--で始まっている場合は次のオプションとみなされる. |
| =i | 整数 | 省略不可 | --- | 負の値を示すために引数の先頭に-をつけることができる. |
| :i | 整数 | 省略可能 | 0 | 負の値を示すために引数の先頭に-をつけることができる. |
| =f | 実数 | 省略不可 | --- | 負の値を示すために引数の先頭に-をつけることができる. |
| :f | 実数 | 省略可能 | 0 | 負の値を示すために引数の先頭に-をつけることができる. |
%options の中にはデフォルト値を入れておく.
$options{help} で値が取れる.
Reference
Perl_man Getopt.3pmhttp://www.att.or.jp/perl/man/getopt.3pm.html