24
簡単サブコマンド YAPC::Asia 2010 前夜祭 (2010/10/14) @xaicron

YAPC::Asia 2010 / 前夜祭

Embed Size (px)

Citation preview

簡単サブコマンド

YAPC::Asia 2010 前夜祭 (2010/10/14)@xaicron

自己紹介

名前Yuji Shimada嶋田 裕二

職場DeNA

Twitter@xaicron

Bloghttp://blog.livedoor.jp/xaicron/

サブコマンドって知ってますか?

git add yapc-asia.2010

これね

サブコマンドを処理するモジュール

App::CmdApp::CLICLI::Dispatch

App::Cmd

たぶんデファクト1コマンド1モジュール結構柔軟usage の自動生成

App::CLI

1コマンド1モジュールドキュメントがなくてよくわからんusage の自動生成はない?

CLI::Dispatch

1コマンド1モジュールusage の自動生成Author: charsbar

モジュール化しないとだめぽ...

単一のスクリプトで書きたい!!

というわけで

書きました

ボクの考えた最強のサブコマンド処理モジュール

Getopt::Compact::WithCmd

単一のスクリプトで定義全体のオプションとは別に、サブコマンドごとのオプションusage の執拗な自動生成サブコマンドのサブコマンドのサブコマンドのサブコマンドの...required とか default とかGetopt::Compact とほぼ同じ使い勝手

これをつかうと

$ foo.pl -v bar --output baz.txt

サブコマンド

とか

$ foo.pl bar baz hoge fuga args

サブコマンド

とかできます!

helpコマンドや、--help オプションも自動生成されるので便利!

Getopt::Long の spec とか(たぶん)全部使える

Demo

でもコマンドのDispatchはしないので自分でやってね

おしまい