sub routine { my $module = shift; my $routine = shift; my @params = @_; eval qq{ use "Foo::Bar::$module"; }; no strict 'refs'; return &{"Foo::Bar::$module::$routine"}(@params); }