実行するモジュールが増えてMy::App::Hogeなんてのができた場合どうするんだろう?そういった場合にもちゃんと対応できるよう、URIとモジュール名をマップする仕組みが提供されていました。ハッシュのキーをモジュールのエイリアスとしてURIに含めることができます。この仕組みがあれば、モジュール名のマップを作るdispatch.cgi以外にCGIを書く必要はまったくなさそうです。TABLEを定義した場合は、DEFAULTでの指定が無効になるようです(ちょっとだけはまりました...)DEFAULTの値は実際のモジュール名ではなくハッシュのキーに指定した値で指定します。Dispatchモジュールは、CGI::Applicationフレームワークでは必須のものではありませんが、このdispatchという概念や仕組みは、その他いろいろなWebフレームワークにもあるようなので、今後もっと高機能なフレームワーク(SledgeやCatalyst)に手を出すためにもちゃんと理解しておくべき仕組みのように思います。CGI::Application::Dispatchには、mod_perlを使ってApacheハンドラとして動作させたり、rewriteを使って技術に依存しないCoolなURI(.cgiとかがURIに含まれない)を作りやすくできる、とかいった副産物もあるようなです。自分の検索ぢからではあまり参考になる資料が発見できなかったので、もう少しいろいろ試してからまたまとめてみようかなと思います。こちらでまとめました。