Having developed plenty of shopping carts and CMS in the past, at this point I wouldn't bother. Use Yahoo Stores, Amazon, or something like that. Many hosting providers offer Magento which has a lot of users, an active community and plugins for just about everything. It's not Perl, but using something already built is like using CPAN (take something from the shelf and just use it).
AFTER YOU HAVE LAUNCHED and you're making money, *then* look at what you do and don't like about the cart and CMS. Do you need different shipping options? Do you want to offer discounts and promotions not already possible within the software? Is there a different payment back-end that you need to connect with?
Basically, get something off the ground first -- then come back and see what you'd like to change. Otherwise you might be looking at months of waiting before you make your first sale (when you could have already gotten hundreds of customers by that time).