HTTP POST is really trivial if you only want to post plain text, which should suffice for most applications.
I use this code which requires only IO::Socket (running on my NAS with perl 5.8.8) to post sensor data (acquired on my LAN via UDP, also via another IO::Socket) to an influxdb server on the internet:
my $REMOTE = new IO::Socket::INET (PeerAddr => 'yourhostname.com', PeerPort => '8086',
Proto => 'tcp', Timeout => '1', Blocking => '0')
or die "can't connect - connection busy?";
$REMOTE->autoflush(1);
my $data = "POOL ph=$ph,orp=$orp";
my $len = length($data);
print $REMOTE "POST /write?db=esp-sensors HTTP/1.1\n",
"Host: yourhostname.com\n",
"Connection: close\n",
"Content-Type: application/x-www-form-urlencoded\n",
"Content-Length: $len\n\n",
"$data\n";
close($REMOTE);
Granted, I don't check the result. But I assume it would be possible. Since there is nothing I could do about any failure anyway, I don't care if it fails, someday I'll see data missing in the graph and check whats up.