in reply to Re^2: A general method of locally overriding subroutines
in thread A general method of locally overriding subroutines
Simpler, or did I miss something?
#! perl -slw use strict; $, = ' '; sub a{ 'a' } sub b{ 'b' } sub c{ 'c' } sub d{ ( a, b, c ) }; sub localize { no strict 'refs'; no warnings 'redefine'; A: local *{ +shift } = sub{ 'changed' }; goto A if @_ > 1; +shift->(); } print d; print localize qw[a b c], \&d; print d; print localize qw[a c], \&d; print d; __END__ C:\test>junk a b c changed changed changed a b c changed b changed a b c
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: A general method of locally overriding subroutines
by tmoertel (Chaplain) on Mar 11, 2006 at 07:35 UTC |