*foo = *bar; *foo = Symbol::gensym *foo = \*bar; local *foo; #### %pkg:: = (foo => *bar, %pkg::); #### package pkg; $save_old_foo = \*foo; delete $pkg::{foo}; *{"pkg::foo"} or 0; # make perl create a new glob ...code using replaced glob goes here... delete $pkg::{foo}; *pkg::foo = $save_old_foo;