in reply to how to make lexical pragma global, hints ( pl_hints $^H %^H ), taint::all

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'