in reply to Error with Net::SSLeay

Use of uninitialized value in subroutine entry at
That is a warning message, not a compilation error. It sounds like your code is behaving as expected, other than the warning. Currently, you enable warnings globally (even in your use'd modules) because you use -w. You could only enable warnings locally in your file with:
use warnings;

Refer to What's wrong with -w and $^W