#!/usr/bin/env perl use strictures; use HTTP::Request::Common; use JSON; use URI; my $request1 = POST "/v3/urlNotifications:publish", Content_Type => 'application/json', Accept => 'application/json', Content_ID => "1", Content => encode_json({ url => 'http://example.com/1', type => "URL_UPDATED" } ); my $request2 = POST "/v3/urlNotifications:publish", Content_Type => 'application/json', Accept => 'application/json', Content_ID => "2", Content => encode_json({ url => "http://example.com/2", type => "URL_UPDATED" } ); my $endpoint = URI->new("https://indexing.googleapis.com/batch"); my $base_request = POST $endpoint, Authorization => "Bearer TOKEN", Content_Type => 'multipart/mixed; boundary=xYzZY123'; $base_request->add_part( $request1, $request2 ); print $base_request->as_string;