This page was perhaps longer than it should have been, MVC is actually a really simple idea, we just need to keep the views separate from the model, we do that by way of a controller.
In GenieMod, the model and the controller are sort of the same, (The controller has actions that may in turn call on other modules to do the heavy lifting)
# Initial setup.
$map = get_viewmap();
$controller = get_controller();
# Run a page request.
$request = get_request($map);
$view = $controller->run($request);
$view->display($request);
# This finishes off the request
# (calling on any callbacks that might have post-view cleanup to do, for instance, sending email)
$request->finish();
As you can see, it's really quite simple. The same steps are run for each action allowing
you to very quickly narrow in on any problem areas. (the get_XXX() subroutines would be provided
by you, in a way that fits in with your applications structure.)
The controller is a sort of central point of entry, this is important because it protects you from having a zillion small little scripts scattered about the place.
I started out explaining that you might want to build your own MVC, then you can customize it for your particular needs. For example, you might chop out bits of GenieMod that you aren't using.
I do not recommend placing the GenieMod stuff in a central directory, but rather I'd advocate placing them within your program. Maybe even renaming them if need be. That way, you can chop and tweak aspects to your liking. The code is reasonably straight forward.
So go ahead, modify it! rename it, don't be afraid to code up your own MVC if GenieMod doesn't suit your taste. You can, however, use it as a base to start with.
The source is available here: GenieMod-0.01 unpack it in a directory, maybe run the tests to see which modules you don't have (It uses CGI::Session, others that are probably standard, depending on your perl installation)
There is a sample application included, you can poke around with it to get a feel how the pieces fit together. It's really quite simple, but could take 15 minutes or so to explore it.