http://qs321.pair.com?node_id=225030


in reply to MOPT-04 - identification, part 2

Perl's function bindings are statically scoped, not dynamically scoped, so we can't bind the name to a new entity in a different evaluation context.

You can, of course, do:

sub func { return "original value.\n" } sub print_func { print func(), " "; } sub redefine_func { local *func = sub { return ("local value.\n") }; print_func(); }

Which is still binding an identifier to an entity by your definitions (I think :-)