This is a specific example based on what I am currently doing, but in a broader sense I guess I struggle with theoretical issues. Like for the cart, I can't figure out what to put in what packages, ie how to break it up. I cant figure out where to use objects, or OOP here. So I resort to doing it the sloppy way, like everything in one cart.pl file.
unless your planning on discovering OOP principles yourself, id highly recommend investing in some good old fashioned bookage. Theres even a perl flavoured introduction.
Downloading and playing with the Java SDK would probably help a lot too. No DWIM shortcuts there ;-)