Вы можете просто отказаться от обработки ответа при поступлении первых данных:
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $resp = $ua->put('http://example.com/', ':content_cb' => sub { die "break early" });
print $resp->as_string;
Вы также можете создать запрос с помощью HTTP::Request-new('PUT',...)->as_string
, создать сокет с IO::Socket::IP->new(...)
или (для https) IO::Socket::SSL->new(...)
и отправьте этот запрос через сокет - затем оставьте сокет открытым некоторое время, пока выполняете другие действия в вашей программе.
Но первый подход с ранним перерывом в :content_cb
, вероятно, проще. И вопреки тому, что вы сами создаете и отправляете запрос, это гарантирует, что сервер хотя бы начал обрабатывать ваш запрос, поскольку начал отправлять ответ обратно.