package GreetFactory; use strict; use warnings; use lib './lib'; sub instantiate { my $class = shift; my $requested_type = shift; my $location = "lib/$requested_type.pm"; $class = "lib::$requested_type"; require $location; return $class->new(@_); } 1;