引数解析:コード量が微妙

 先日の続き。
 Parseはできたのでプログラムは問題なく動いているんですけど、コード量が微妙。
 例えば、-lというオプションに1〜3の数値で実行レベルを引き渡せるとして、値を渡さなければデフォルト値で、更に-rオプションが使えてこれは単独で。

 で、これを実現するためのコード量が16行。しかも力技(ifの連発)なので見ていて気分が悪い。

 せめてサブルーチン化しよう。

 ……

 ………

 …………

 あ、閃いた。
 今は-lのオプション値を$modeというスカラーに読み込んでるけど、%ARGVとかの連想配列作って$ARGV{'l'} = ?;にすればいいのでは? そうすれば汎用的なサブルーチンを1つ作ってしまえばあとは使いまわし……できたぁ!?