Is it a CGI or non-CGI script? Look on the CPAN for 'session' to find ways to keep a session going, and store the info based on the session.
in reply to Maintaining state in modules
Why not make a base class and subclass it with a way to do it with dbm's. Then, subclass to use MySQL (or whatever). People can subclass to use with whatever data store they wish to use (a DB, flat file, directory structure, etc...) that way your design will make it more portable.
Also, look on the CPAN, and search Google for ways other are maintaining state, so you don't re-invent any wheels.