今日のCPANモジュールでApp::Options が紹介されています。
http://e8y.net/mag/004-app-options/
GetOptions + pod2usage と同様、App::Options では次のような要件を満たすことができます。
- 引数の必須項目を指定したい
- ある引数は数字だけ受け取れるように
- 引数のデフォルト値を指定したい
- --help が指定された場合は Usage を表示
App::Optionsは、GetOptions + pod2usage と比較して次のような長所があるようです。
- 使用方法が、use 文の中ですべてまとまっていて、シンプル
- 特に指示しなくても --help の時や必須条件をクリアしなかった場合に自動で Usage を表示
ただ、GetOptions + pod2usage は標準モジュールのようなので、簡単なスクリプトであれば、GetOptions + pod2usage を選ぶのかな。