I'd like to print the various error message that the ::Message object
returns:
-------------------------------------
my $ldap = Net::LDAP->new( $host,
async => 0,
onerror => 'die'
);
my $msg = $ldap->bind( $usr, password => $pwd );
#if ( $msg->is_error() )
{
my $err = $msg->error( $msg );
my $err_name = $msg->error_name( $msg );
my $err_text = $msg->error_text( $msg );
my $err_desc = $msg->error_desc( $msg );
t "Status = \t$err\n\tname = $err_name\n\ttext = $err_text\n\tdesc = $err_desc\n";
}
$msg = $ldap->unbind();
-------------------------------------
That works fine when the $usr and $pwd bind ok (which is weird for an
error status!). Unfortunately, it crashes when binding is not ok, with
the following output:
-- output ----------------------------
testcases> ./t/040.pl -h i -D uid=batman,ou=People,dc=stm,dc=net -w fake -trace
Ambiguous use of {reverse} resolved to {"reverse"} at
/home/claude/lib/Perl5.004_04/lib/perl5/Net/LDAP/Util.pm line 313, <DATA> chunk 225.
Ambiguous use of {reverse} resolved to {"reverse"} at
/home/claude/lib/Perl5.004_04/lib/perl5/Net/LDAP/Util.pm line 460, <DATA> chunk 225.
- Called with - h 10.8.197.30 -D uid=batman,ou=People,dc=stm,dc=net -w fake
Can't use an undefined value as a subroutine reference at
/home/claude/lib/Perl5.004_04/lib/perl5/Net/LDAP.pm line 747, <DATA> chunk 283
(#1)
(F) A value used as either a hard reference or a symbolic reference must
be a defined value. This helps to delurk some insidious errors.
Uncaught exception from user code:
Can't use an undefined value as a subroutine reference at
/home/claude/lib/Perl5.004_04/lib/perl5/Net/LDAP.pm line 747, <DATA> chunk 283.
Net::LDAP::_sendmesg('Net::LDAP=HASH(0x4044a308)',
'Net::LDAP::Bind=HASH(0x400202f0)') called at
/home/claude/lib/Perl5.004_04/lib/perl5/Net/LDAP.pm line 364
Net::LDAP::bind('dn', 'uid=batman,ou=People,dc=stm,dc=net', 'password',
'fake') called at ./t/040.pl line 57
-- output ----------------------------
Is that a normal feature that I don't understand?
--
Claude