end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転します

コマンドラインの受け取りにはApp::Options ? or GetOptions ?

今日の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 を選ぶのかな。