http://www.perlmonks.org?node_id=508952


in reply to Re^2: How to use Inheritance with Inside-Out Classes and Hash Based Classes
in thread How to use Inheritance with Inside-Out Classes and Hash Based Classes

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; }
Perl --((8:>*