sub checkPassword { # no parens () here - why a prototype? my ($user,$password) = @_; my $ldap = Net::LDAP->new( $LDAPServerAddress, port => '636', scheme => 'ldaps' ) or die "Can't connect to $LDAPServerAddress via LDAP"; # not || my $result = $ldap->bind( $user, password => $password ) or die "Can't bind!\n"; # $@ is set by eval if ($result->code) { die $result->error; } 1; }