... (Was it yours too?)
My need to override didn't arise in the context of testing, but with
trying to write a 'compatibility module', which would allow to run
ancient jperl v5.005 code
in a recent version of Perl without modifications (large existing, tested codebase).
Specifically, the problem was with trying to transparently convert
japanese filenames between legacy and unicode encodings, because 5.005
did not support unicode, while modern versions of Perl cannot easily be
configured to operate in the same old way that worked with jperl.
Writing a source filter would have meant being able to reliably
identify filename related code fragments in arbitrary Perl code... which
I anticipated to be way too complex to get working in the time frame
alotted to the project. (For anyone interested, I eventually decided to
take the easiest route of utilising the deprecated USING_WIDE win32-perl
macro (no longer available in Perl 5.10), which works reasonably well — In other words, I'm
hoping there won't be significant code rot in Perl 5.8.8 before I
retire... ;)