CLIツールのためのフレームワーク

ここ最近、1、2ヶ月は暇を見つけてはperlを書いて内製ツールを書いてます。

 

最初は小さなスクリプトレベルだったのが、段々膨らんできて見通しが悪くなってきて、今度はモジュール化とかコマンドを分けてみたりしてます。それでもコード量が多い。なんでかなとおもうと、一つはusageとかオプションのvalidation部分だったりします。
結構な行数書いたところでそうか…とおもいあたりました。WebアプリだとRailsやらCatalystといったフレームワークがあるんだから、CLIアプリにもフレームワークありますね。perlでもいくつかCLIアプリのためのフレームワークがあるみたい。↓のスライドはApp::Cmdについての解説。わかりやすい。

 

書いちゃったコードどうするかな…. App::Cmdベースでもう一度焼き直すか。作っては壊し、作っては壊しの連続でなかなかプログラムが出来上がらない。

追記

選べる。

  • App::Cmd
  • App::CLI
  • CLI::Dispatch

App::Cmdが有名どころのようだ。