in reply to traversing a list of objects

I might be missing the point but why are you poking around the internals of the object?

The docs for Net::Amazon::Response shows that properties() returns an array of objects (each of which is a Net::Amazon::Property::* object I guess)
if($resp->is_success) { foreach my $property ($resp->properties) { # $property isa Net::Amazon::Property object # print $property->as_string, $/; print $property->ProductName, ' ', $property->ReleaseDate, $/; } }