in reply to Some questions about CGI::Session

For a start the "ban" list could have a quite different solution to your logged in problem. However I'd be inclined to use a small database (DBD::SQLite) which solves both problems. If you haven't used a database before take a look at Databases made easy for a quick introduction which pretty much covers everything you are likely to need for this job.

True laziness is hard work