When you choose mod_perl for new projects, which nobody at all does these days in my experience, this means tying yourself into old-fashioned architecture ideas which revolve around tightly coupling your application to a specific webserver. I suggest you at least have a look at http://plackperl.org/. I personally haven't worked on any mod_perl projects since 2011 (and this was a legacy system which I doubt exists in that form anymore).
Dancer is a perfectly sane choice for modern web development with Perl, and the one I have a lot of professional experience with, so are Mojolicious or Catalyst (though I have never ever liked the way Catalyst handles dispatch). If you really want to create your own framework (be my guest, I have never had the urge but <shrug>), then you ought to be looking at how these frameworks do things. The problem space is a well trodden path that thousands of developers have traveled already.