in reply to converting to a sub-class
But a note on naming: that rather looks like a "factory class", not like "converting to a subclass". If the class denominated by $self->{extension} has DUM::DUMMY in its @ISA, it is a subclass of DUM::DUMMY. Does the following (add sanity checks for @_ and such) fit into your design?
package DUM::DUMMY; use base 'DUM::Base'; sub new { my $class = shift; my %args = @_; my $ext; if ($ext = delete $args{extension} ) { my $backend = 'DUM::DUMMY::'.$self->{extension}; eval "require $backend"; if ($@) { # handle errors: die? return undef? set $@ ? } } my $self = $class->SUPER::new(%args); bless $self, 'DUM::DUMMY::'.$ext if $ext; $self; }
--shmem
_($_=" "x(1<<5)."?\n".q·/)Oo. G°\ /
/\_¯/(q /
---------------------------- \__(m.====·.(_("always off the crowd"))."·
");sub _{s./.($e="'Itrs `mnsgdq Gdbj O`qkdq")=~y/"-y/#-z/;$e.e && print}
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: converting to a sub-class
by Cagao (Monk) on Oct 20, 2007 at 20:07 UTC | |
by shmem (Chancellor) on Oct 20, 2007 at 22:32 UTC | |
by Cagao (Monk) on Oct 20, 2007 at 23:59 UTC |