in reply to Most efficient design

Not Perl related, but if you want to create a conversational game, check Inform.