В функции проверки есть ошибка. Я только что посмотрел на реализацию. в случае, если «$ res» не является «успешным», он не вернет вам требуемую ссылку на хеш.
В качестве быстрого обходного пути я бы проверил, равен ли ваш my $result
""
, если в этом случае функция проверки завершилась неудачно.
В долгосрочной перспективе вам, вероятно, следует отправить эту ошибку создателю модуля.
отказ от ответственности: я не скачал модуль и просто посмотрел на источник, фактически не пытаясь найти обходной путь, поэтому возьмите его с крошкой соли и попробуйте сначала в безопасной среде
sub verify {
my ($self, $secret, $response, $remoteip) = @_;
# ... more code here, removed for better readability
my $res = $self->{ua}->post_form(
$self->{verify_api},
$params
);
if ($res->{success}) {
my $content = decode_json $res->{content};
if ($content->{success}){
return { success => 1 };
} else {
return { success => 0, error_codes => $content->{'error-codes'} };
}
}
}