in reply to Tk and taint

What can be tainted? User provided information. And where might that come from? Command line, I/O, or the Environment.

A quick check of:

#!/usr/bin/perl -wT use Tk; my $mw=new MainWindow; MainLoop;

And sure-enough, something's tainted. But Tk is unkind enough to tell us what exactly. My first instinct was "Environment" (which it always is with tainting) and this cured it:

#!/usr/bin/perl -wT use Tk; %ENV=(); my $mw=new MainWindow; MainLoop;

Granted, this cure is rather drastic. Now you get to go spelunking and find out what exactly what environment bits that Tk is interested in. In my case, under Win32, it was 2 environment variables that aren't mentioned at all in perlsec. Good luck!