in reply to How to turn an object in my own subclass
As part of your new method, you create a new HTTP::Request object. But in this new scenario, you already have an HTTP::Request object. So why not create a variation of your new method that works with an existing object.
sub new_from_http_request { my ($class) = shift ; my $self = $shift ; $self->{myA} = undef ; return bless $self, $class ; }
You can then do something like:
my $httpr = AnotherModule::f() ; my $ownHttpr = My::HTTPRequest->new_from_http_request($httpr);
Alternatively, you could use the same new method and just make it a bit cleverer:
sub new{ my ($class) = shift ; my $self; if (@_) { my $self = shift ; } else { my $self = $class->SUPER::new(@_) ; } $self->{'myA'} = undef ; return bless $self, $class ; }
In both cases, the code can probably be improved by using something like UNIVERSAL::isa to ensure that the parameter that you have been passed is actually an HTTP::Request object (or a subclass).
"The first rule of Perl club is you do not talk about
Perl club."
-- Chip Salzenberg
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: How to turn an object in my own subclass
by jeteve (Pilgrim) on Sep 05, 2006 at 10:29 UTC | |
by Hue-Bond (Priest) on Sep 05, 2006 at 13:27 UTC |