my $httpr = AnotherModule::f() ; # $httpr is a plain HTTP::Request object my $ownHttpr = transform($httpr) ; # $ownHttpr should be an instance of My::HTTPRequest with all the properties of $httpr .