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