in reply to How to redefine a method and still reference the original.

my $old = \&method; *method = sub { # Do something new my @return = $old->( @args ); # Do something else };

Being right, does not endow the right to be rude; politeness costs nothing.
Being unknowing, is not the same as being stupid.
Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

Replies are listed 'Best First'.
Re^2: How to redefine a method and still reference the original.
by BrowserUk (Patriarch) on Feb 17, 2005 at 19:10 UTC

    You might want to add a pair of braces and a no warnings 'redefine'; to that.

    my $old = \&method; { no warnings 'redefine'; *method = sub { # Do something new my @return = $old->( @args ); # Do something else }; }

    Examine what is said, not who speaks.
    Silence betokens consent.
    Love the truth but pardon error.