in reply to efficientcy

If you are making more than a couple of screens then you may like to have a look at CGI::Screen, which is specifically designed for the creation of multi-screen CGIs. I've never used it, but it looks interesting.