# untested code # # factory approach my $factory = AnimalFoodFactory->new; my $food_object = AnimalFoodFactory->prepare_correct_chow( animal=> 'lion'); # now ref $food_object eq 'LionFood' # "seed" (?) approach my $food_object = AnimalFoodPreparer->new(animal=> 'lion'); # now ref $food_object eq 'LionFood'