in reply to 500 SSL read timeout

You can set a timeout value. The default is 60 secs. For instances, using LWP::UserAgent:
my $ua = LWP::UserAgent->new( timeout => 90 );

Remember: There's always one more bug.