princepawn has asked for the wisdom of the Perl Monks concerning the following question:
Often one knows beforehand which subclass of base class in which to initialize one's method. However, in my case, I want to call a constructor as a function of the operating system that I am on.
My first thought was to use a hash keyed on operating system name and store a reference to the new of each class as the value, ie:
Which brings up an additional question: since I am using an arrow in the above code instead of ::, will the first argument to the new be the package name? And will it only pass arguments if I had used ::? Thanks for any help guys.%constructor = ( 'MSWin32' => \&FTP::Session::Win32->new, 'HPUX' => \&FTP::Session::HPUX->new )
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Calling a class constructor as a function on input arguments
by tye (Sage) on Jul 21, 2000 at 18:41 UTC | |
Re: Calling a class constructor as a function on input arguments
by cwest (Friar) on Jul 21, 2000 at 18:26 UTC |
Back to
Seekers of Perl Wisdom