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

Reply via email to