sub foo { my @c = caller(0); no strict; *{ $c[3] } = sub { new_definition_for_foo...; }; }