#!/usr/bin/perl use strict; use warnings; package buh; use vars '$sub'; $sub=sub{}; sub use_sub { $sub= shift; } sub bar { $handle->(@_); } package main; sub foo { print "foo: @_\n"; } buh::use_sub(\&foo); buh::bar('bar');