sub new {
my ($class, @args) = @_;
my $destination_class = figure_destination_class(@args); # or whatever
my $self = bless {}, $destination_class;
$self->initialize(@args);
return $self;
}
####
sub new {
my ($class, @args) = @_;
my $destination_class = figure_destination_class(@args); # or whatever
# verify that the $destination_class is a valid package name
# and a proper sub-namespace of $class, and detaint
if ($destination_class =~ /^(\Q$class\E(?:::[a-zA-Z_]\w*)+)$/)) {
eval "require $1" or die $@;
}
else {
die "'$destination_class' is an invalid class name for sub-classes of $class\n";
}
my $self = bless {}, $destination_class;
$self->initialize(@args);
return $self;
}
##
##
------------
:Wq
Not an editor command: Wq