in reply to Inheritance confusion

Better yet in new do something like
my $self=Net::FTP->new(@_); bless $self,shift; local *r=*$self; %r=@_; $r{mystuff}=...; return$self;
Then in any method do
my $parent=shift; my $self=do{local *self=*$parent;\%self}