my $data = { AccessKeyId => $access_key, Action => "SendMessageToGlobe", Format => "JSON", From => $from, Message => $message, RegionId => "default", SecureTransport => "true", SignatureMethod => "HMAC-SHA1", SignatureNonce => $Nonce, SignatureVersion => "1.0", SourceIp => $ip, Timestamp => $timestamp, To => $to, Version => "2018-05-01", Signature => "", }; my $params = $ua->www_form_urlencode($data); my $signature = hmac_sha1_base64($data); $data{Signature} .= $signature; # add this value to Signature => "", in $data printf "params = %s\n", $params; #### my $data = {key => ""}; my $val = "HI THIS WORKS"; $data{key} .= $val; print "$data{key}";