{ my $lexical = wrap 'some_sub', pre => \&wrapper; some_sub();#wrapper is called before some_sub other_sub();#other_sub's call to some_sub is *still* #wrapped with &wrapper, even though other_sub is #outside of this lexical scope! } sub other_sub { some_sub();#call made outside of lexical scope in which some_sub is wrapped. }