It's doable, but there's no real elegant solution. Take a look at Acme::use::strict::with::pride, which turns on strict everywhere. (Actually it turns it on at the top of each file - there's nothing to stop the file including no strict later on.) It does this by installing a coderef into @INC which rewrites modules when they get loaded.
Personally, I'd take a different approach. I'd cheat by taking advantage of the fact that nearly all code everywhere uses strict, and hook onto strict's import function. Save the following code as Taint/Obnoxious.pm:
package Taint::Obnoxious;
use strict;
use re ();
my $orig_import = strict->can('import');
*strict::import = sub {
re->import('taint');
goto $orig_import;
};
Now, running your program with perl -MTaint::Obnoxious should do the trick. All code that uses strict will also automatically use obnoxious tainting.
perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
|