sub create { my $ref = shift; my @parameters; my @objects; foreach my $classname (keys %$ref) { my $r = new $classname; # instantiate class foreach my $method (keys %{$ref{$classname}}) { for my $parameter (keys %{$ref{$classname}{$method}}) { push @parameters, ${$ref{$classname}{$method}{$parameter}}; } $r->$method(@parameters); } push @objects, $r; } return \@objects; }