sub foo { print( "Hello World\n" ); } BEGIN { *bar = \&foo; } foo(); bar(); #### sub foo { print( "foo\n" ); } BEGIN { *bar = \&foo; } BEGIN { *foo = sub { print( "bar\n" ); }; } foo(); # bar bar(); # foo