{ open my $up, "<", "$_[0]" or die "Something went wrong: ".$!; binmode $up; my $ck = Digest::MD5->new; $ck->addfile($up); close $up; my $req = HTTP::Request::StreamingUpload->new( PUT => "https:// ".$server."/file_bucket_file/md5/".$ck->hexdigest, path => $_[0], headers => HTTP::Headers->new( 'Content-Type' => 'application/binary', 'Content-Length' => -s $_[0], 'Accept' => 's', ), ); my $res = $ua->request($req); die "Something went wrong: ".$res->status_line unless $res->is_success; return $res->content; }