Processing - The Details 

$s3->GetObject({
    Bucket => $bucket,
    Key    => $filename,
});
# use Image::Imlib2 to generate other sizes
$s3->PutObject({
    Bucket  => $bucket,
    Key     => $new_filename,
    Acl     => 'public-read',
    headers => { 'Content-Type' => 'image/jpg' },
    content => $content,
});