How can I initialise File::Samba's data structures in the constructor of my Samba::LDAP class?
The simplest answer is: don't write a constructor in your Samba::LDAP class. Just inherit the constructor, and let it do what it does. If you need to initialize something in your Samba::LDAP class, write a sub "init". Then you can write:
my $obj = Samba::LDAP->new(args needed by File::Samba)->init(initializ
+ation arguments)
But if you insist in doing multiple things (creation and initialization) in one sub, do something like:
sub create_and_initialize { # 'new' is a bad name; it does more.
my $class = shift;
my $arg = pop; # Initialization argument for my class;
my $obj = bless $class->SUPER::new(@_), $class;
# Initialize the object using $arg.
return $obj;
}