"The Net::Amazon::S3 module was written when the Amazon S3 service had just come out and it is a light wrapper around the APIs. Some bad API decisions were also made. The Net::Amazon::S3::Client, Net::Amazon::S3::Client::Bucket and Net::Amazon::S3::Client::Object classes are designed after years of usage to be easy to use for common tasks."
... is what I say in the new, unreleased version of Net::Amazon::S3. I've moved it to Moose and I've added the new Net::Amazon::S3::Client classes to make it really easy to do the things you most want to do with S3. I need input on the new classes - does it do what you need it to do? If you use the module already for a task, could you look at the new classes and give me feedback? The code is hosted by Google Code, so you can check it out and see all my recent hacking. Cheers!