in reply to Code Design Issues
Some tips:
- Sessions are not a good place to store any significant data. They are inefficient, can't be queried through SQL, and don't support concurrency safety methods like transactions. Store an ID for a shopping cart in the session, but store the actual cart data in a database.
- If you use MySQL, use InnoDB tables. A shopping cart system is not a silly little forum app -- you need transactional safety for this.
- Apache::Template is just a mod_perl handler for running files through Template Toolkit. If you are using CGI::Application, you have no use for it. You can use TT directly from CGI::Application. There's even a plugin module for it.