I encountered a similar problem some months ago. After searching google and other places for an answer someone suggested that perhaps my installation of OpenSSL and/or Net::SSL was compiled with a different version of GCC than Perl was compiled with. I had, in face, installed a new version of gcc recently so I removed all of the SSL stuff, downgraded gcc to the version with which I originally built Perl, then re-compiled OpenSSL and Net::SSL. After that, it worked perfectly.
That said, it is also possible that something else was screwed up and the re-compile of the SSL software cleaned it up. Regardless, my problem was solved.