私はPerlの初心者です。 私はJSON-RPCサーバーをhttp:// localhost:19000で実行しています。checkEmail()メソッドに電話する必要があります。Perl - JSON :: RPC :: Clientを使用しているときに 'Not a HASH reference'エラーが発生しました
use JSON::RPC::Client;
my $client = new JSON::RPC::Client;
my $url = 'http://localhost:19000';
my $callobj = {
method => 'checkEmail',
params => [ '[email protected]' ],
};
my $res = $client->call($url, $callobj);
if($res) {
if ($res->is_error) {
print "Error : ", $res->error_message;
}
else {
print $res->result;
}
}
else {
print $client->status_line;
}
私はそれを起動しようとすると、それは次のよう伝えます:
perl ./check_ac.pl
Not a HASH reference at /usr/local/share/perl/5.10.1/JSON/RPC/Client.pm line 193.
UPD:スタックトレースのフル
:
perl -MCarp::Always ./check_ac.pl
Not a HASH reference at /usr/local/share/perl/5.10.1/JSON/RPC/Client.pm line 193
JSON::RPC::ReturnObject::new('JSON::RPC::ReturnObject', 'HTTP::Response=HASH(0x9938d48)', 'JSON=SCALAR(0x96f1518)') called at /usr/local/share/perl/5.10.1/JSON/RPC/Client.pm line 118
JSON::RPC::Client::call('JSON::RPC::Client=HASH(0x944a818)', 'http://localhost:19000', 'HASH(0x96f1578)') called at ./check_ac.pl line 11
'perl -MCarp :: Always ./check_acを使用してください。pl'を使用して完全なスタックトレースを取得し、問題がコード内のどこにあるかをより正確に把握できます。 – mob
「Carp/Always.pmを見つけることができません」と表示されます。私はMCarp :: Alwaysを使用してインストールしようとしましたが、それは見つかりません。 –
MCp :: AlwaysではなくCarp :: Alwaysをインストールしてみてください。 -Mは、コマンドラインから "use"を意味します。 – gpojd