After working with Net::Amazon::S3 for about an hour and failing miserably, I decided to give this module a try. I was up and running in less than 5 minutes.
That said, later on I found that I needed more than SOAP::Amazon::S3 could offer. I needed to set HTTP headers, but for some reason SAS limits you to only setting content type. I also needed to upload large files, but the way that SAS uploads stuff doesn't work with large files. So I resorted back to Net::Amazon::S3, and finally got it working.
If you're needs are small, use SOAP::Amazon::S3, as it's easy as pie to use.