sub Zoo::factory { my($self, $class, $args) = @_; my $obj = "Zoo::Animal::$class"->new( $args ); $self->{"_${class}_count"}++; return $obj; } my $zoo = Zoo->new; my $camel = $zoo->factory("Camel");