Like haukex I wouldn't use such a low-level module by default. Here is an example using LWP::UserAgent and a known, public endpoint. Perhaps you can start from here and then modify to your needs?
#!/usr/bin/env perl
use strict;
use warnings;
use LWP::UserAgent;
use Data::Dumper;
my $url = 'https://server.cryptomix.com/secure/';
my $keyfile = 'foo.key';
my $certfile = 'foo.cert';
my $ua = LWP::UserAgent->new (
ssl_opts => {
SSL_cert_file => $certfile,
SSL_key_file => $keyfile
}
);
my $res = $ua->get ($url);
print $res->status_line;
print $res->decoded_content;
This assumes that you have the RSA key in foo.key and the PEM client cert in foo.cert. You'll get lots of info back from that server.