package Base::Module; sub load_config { my $class = shift; my $module = $class->config_module; require $module; } package Foo::Module; use base qw(Base::Module); sub config_module { return 'Foo/Config.pm'; }