Я взаимодействую с платежным шлюзом и мне не везет с Net :: SSLeay и его подпрограммой post_https. Платежный шлюз выдал мне сертификат клиента, который должен использоваться для аутентификации. Perldoc Net :: SSLeay имеет следующий пример:
($page, $response, %reply_headers)
= post_https('www.bacus.pt', 443, '/foo.cgi', # 3b
make_headers('Authorization' =>
'Basic ' . MIME::Base64::encode("$user:$pass",'')),
make_form(OK => '1', name => 'Sampo'),
$mime_type6, $path_to_crt7, $path_to_key8);
Моя собственная версия находится ниже и возвращает ошибку Слишком много аргументов для Net :: SSLeay :: post_https :
#!/usr/bin/perl
use strict;
use warnings;
use Net::SSLeay qw(post_https);
my %post = (
#snip
);
my ($page, $response, %reply_headers) = post_https(
'www.example.com',
443,
'/submit',
'',
make_form(%post),
'text/xml',
'/path/to/cert',
'/path/to/key',
);
Почему происходит эта ошибка?