#pseudocode, of course #!/usr/bin/perl use warnings; use strict; use Parent; my %data = ( param1 => "something", param2 => "something else"); my $p = Parent->new(\%data); my $c = $p->new_child("More data");