Does Hook::LexWrap provide you with enough rope?
Maybe you can show us more exactly what you want to achieve. There also are Sub::Uplevel and Scope::Upper, which give you access to the variables of the route calling your code. These all provide you with lots of rope to hang yourself, in other words, I'm not exactly sure that what you want to achieve should be done through this.
The easiest way to "append" code to a subroutine is to just replace the subroutine with your own:
package Somewhere; sub test { print "leaving original test\n"; }; package My::Somewhere; use vars qw($old_test); $old_test = &Somewhere::test; *Somewhere::test = sub { $old_test->(@_); print "leaving overridden test\n"; };
But if you're trying to use overload, maybe you're dealing with objects? Then, the best way could maybe just be to subclass your target class instead of hacking its code?
In reply to Re: Overloading '{}' or 'sub'
by Corion
in thread Overloading '{}' or 'sub'
by pkirsch
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |