LWP hangs when POSTing on server that uses chunked transfer-encoding.The solution is to prevent reading while file is not uploaded completely. Please, take a look on attachment (diff of lib/LWP/Protocol/http.pm).
Best Regards, Valentin.
269a270 > my $strobe_read; 302c303 < if (defined($rbits) && $rbits =~ /[^\0]/) { --- > if (defined($rbits) && $rbits =~ /[^\0]/ && !$strobe_read) { 334a336 > $strobe_read = 1;