以前からこうなっていたのか記憶が定かではありませんが、 Catalystアプリケーションの http://localhost:3000/test にアクセスしたら、sub test内で $c->req->pathを見ると /%5E/[%5E%5C.]*(%5C?|%24)/testになってしまっていました。これにはビックリΣヽ(゚Д゚; )ノ この時、Apacheの設定は以下のように「パスに.(ドット)を含まないもの」をCatalystアプリケーションに飛ばすようにしていました。 <LocationMatch "^/[^\.]*(\?|$)"> SetHandler modperl PerlResponseHandler MyApp </LocationMatch>この正規表現がプログラム側に渡ってしまっているようです。 (?:)で括ったら消えるかなと思ってやってみましたが何も変わらず。。