Greetings, I'm trying to add a method to Net::LDAP (through Net::LDAP::Extra) so I can ask for the host IP at a later time. I'm using Perl 5.8.4 and Net::LDAP 0.32 (from Net/LDAP.pm) on a GNU/Linux 3.1 Debian box.
This is my test code: in /test/Net/LDAP/Extra/host_ip.pm: package Net::LDAP::Extra::host_ip; use Exporter; @ISA = qw(Exporter); @EXPORT_OK = qw( &host_ip ); sub host_ip { return shift->{net_ldap_host}; } 1; in /etc/test.pl: use Net::LDAP; use Net::LDAP::Extra qw(host_ip); use My::Data; my ( $ip, $port, $binddn, $password ) = My::Data::get_ldap_data(); my $ldap = Net::LDAP->new( $ip, port => $port ); $ldap->bind( $binddn, password => $password ); print "Host: ", $ldap->host_ip, "\n"; __END__ But I get: Uncaught exception from user code: Can't locate object method "host_ip" via package "Net::LDAP" at test.pl line 8 Debugging I see the Net::LDAP::Extra::host_ip::BEGIN/host_ip and Net::LDAP::Extra::import functions defined... When I define this function in the debugger when executing Net::LDAP::new, it works (obviously, as I'm working in the correct package, but it's cheating) Any pointers to what I'm doing wrong? The reason I'd like to add this methos is so I can program a backup routine at a later time, where I am handed a Net::LDAP object and I test the different LDAPs serving my program, and make decisions based, among other things, on the IP of the host I got a (at least at first) working connection. The second part is programming a read-write reconnection to another LDAP when the one serving me is in read-only mode (and I get a referal, but I guess I'll have to play around with callbacks to get this working?) Thanks for all, david