せっかく given-when 構文をつかえるのだから、以下のように Dispatcher を書けばいいのではないか、という話があったので実際つかってみていたのだが、このような書き方は非常に低速であることがわかった(too slow)。 use 5.010; sub dispatch { my ($class, $c) = @_; given ([$c->request->method, $c->request->path_info]) { when (['GET', '/']) { return call("Root", 'index'); } ... } } 以下のようなベンチマークスクリプトをうごかすと 25倍遅い。 use strict; use warnings; use Benchmark qw/:all/; use 5.010; my $method = "GET"; my