use strict; use warnings; use LWP::Simple; # from CPAN use JSON qw( decode_json ); # from CPAN #get my address use LWP::UserAgent; my $ua = LWP::UserAgent->new; my $server_endpoint = "https://www.googleapis.com/geolocation/v1/geolocate?key=MY API KEY"; # set custom HTTP request header fields my $req = new HTTP::Request POST =>( $server_endpoint); $req->header('content-type' => 'application/json'); # add POST data to HTTP request body my $post_data = '{"homeMobileCountryCode" : 235, "homeMobileNetworkCode" : 77, "radioType" : "gsm", "carrier" : "BT Group", "considerIp" : "true"}'; $req->content($post_data); my $resp = $ua->request($req); my $message = $resp->decoded_content; print "Received Reply:$message\n";