use LWP::UserAgent; use HTTP::Request::Common; use URI::Escape qw( uri_escape ); use File::Slurp; use LWP::Debug qw(+); use Data::Dumper; my $uid = "id"; my $upw = "pass"; my $message = read_file( '/tmp/1.xml' ) ; my $ua = LWP::UserAgent->new(agent => 'perl put'); $ua->credentials('host.com:80', '', $uid, $upw); my $response = $ua->request(PUT 'http://host.com', Content_Type => 'text/xml', Content => $message); print $response->error_as_HTML unless $response->is_success; print $response->content();