I haven't used it but you may find Games::3D helpful, if just to suggest implementation requirements and ideas. I had a quick look in CPAN for a text based RPG oriented gaming engine, but didn't find anything quite like that. List_of_game_engines has a list of game engines, a few of which have Perl bindings.
You should think about where you want to go with this thing. At one end of the spectrum is a game where everything is hard wired into the code. That sounds simple at the outset, but as the game gets more sophisticated maintenance becomes much harder. Somewhere toward the other end of the spectrum is writing a gaming engine where the game itself is provided as a bunch of configuration files, perhaps using a scripting language purpose written for the game.
True laziness is hard work