use UNIVERSAL::require; sub runmode { my $self = shift; $modulename = $ENV{APP_NAMESPACE}. '::FooBar'; $modulename->require or croak $@; $foobar = $modulename->new(); # carry on... use $foobar as needed }