sub foo { "foo" } $fooref = \*foo; print *bar{SCALAR}; *bar = *$fooref{CODE}; print *bar{SCALAR}; print *foo{CODE}; print *bar{CODE}; #### sub foo { "foo" } $fooref = \*foo; $bar = 1; $barref = \*bar; print *bar{SCALAR}; *$barref = *foo{CODE}; print *bar{SCALAR}; print *foo{CODE}; print *bar{CODE}; #### $bar = 1; $barref = \*bar; print *bar{SCALAR}; *$barref = sub { "bar" }; print *bar{SCALAR};