It's finally done, the storefront, which I wrote using CGI::Application and Template::Toolkit, among a cocktail of other modules for PayPal, and a few other things.
It's pretty basic, and I actually have a few ends to tie up, but the part I took most pride in was the donation program. In my 5ish years as a perl hacker I've never used map, and I got to with this, along with a small dispatch table, and even some AoH meddling without any headaches or ulcers.
I need to add a search option, and pagination, but I'm going to just port this whole thing over to Catalyst instead of doing little hacks at a time. That way I can have a clean codebase to enter into an SVN repo and "start over on a clean slate" without actually having to rewrite much.
The CGI::App version can be released as a "Lite" version of this storefront when I decide to release it for use.
This is the largest non-Catalyst project I've done in a while, and I was rather surprised at how clean my code stayed and how, although I didn't have as much abstraction done as I would have liked, I put everything together in a way that was sensible and I have been able to expand fairly easily.
Well, off to do some DBIx::Class work on this storefront.