That was a hangover from a previous experiment with other Perl modules.
Unsurprisingly 999.999.999.999 isn't a valid IP address, and the way JSON::RPC::Client appears to work is it checks the URI and goes on from there. When connecting to the valid IP it still gives me that hash error :-/