#!/usr/bin/perl use JSON::RPC::Client; use Data::Dumper; my $client = new JSON::RPC::Client; my $url = 'http://9999.9999.9999.9999/api_jsonrpc.php'; my $callobj = { method => 'user.authenticate', params => ["admin","password"] }; print Dumper(ref($callobj)); my $sessionid = $client->call($url, $callobj); if($sessionid) { if ($sessionid->is_error) { print "Error : ", $sessionid->error_message; } else { print $sessionid->result; } } else { print $client->status_line; } #### $VAR1 = 'HASH'; Not a HASH reference at /usr/local/share/perl/5.10.0/JSON/RPC/Client.pm line 194. #### sub new { my ($class, $obj, $json) = @_; my $content = ( $json || JSON->new->utf8 )->decode( $obj->content ); my $self = bless { jsontext => $obj->content, content => $content, }, $class; $content->{error} ? $self->is_success(0) : $self->is_success(1); $content->{version} ? $self->version(1.1) : $self->version(0) ; $self; }