package Array::Extract; my $worker_package = __PACKAGE__ . '::Work'; # or whatever other name you want { no strict 'refs'; *{"$worker_package\::extract"} = sub { ... your code ... }; }