sub new { my ($pkg, $server, $user, $timeout, @args) = @_; # some special class specific stuff # ... is params for super class structure my $ftp = Net::FTP->new(...); $ftp->server($server); $ftp->user($user); $ftp->timeout($timeout); $ftp->initialize(); my $self = { ftpHandle => $ftp }; return bless($self, $pkg); }