use warnings; use strict; use Net::LDAPS; my $ldaps = Net::LDAPS->new( 'ldap server', port => '636', verify => 'require', cafile => 'C:/certicate.cer' ) or die $!; #note i have used .pem too here but failing with the same "Bad file descriptor error" print "\nLDAPS ::: $ldaps\n";