IIS DOES look at the shebang line for any switches. So if you include -T or -w (or whatever), it'll enable Taint Checking, Warnings (or whatever).
What IIS ignores is the PATH TO PERL on the shebang line. For example, I begin just about all my CGI scripts with #!/usr/bin/perl -Tw even though perl.exe resides in c:\perl\bin on my NT/2000 boxen. IIS ignores the path, but not the switches.
As for Taint checking, the only way I know to do this with IIS is to adjust the registry entry used by IIS to launch perl to include the -T switch.
If you get the "too late for -T" warning, then IIS isn't checking the #! line. Note that Perl itself checks the #! so things like -w work (and this is the point at which it finds -T and decides that it is too late).
You're correct. It's perl which is checking the shebang line, rather than IIS itself. I guess my point was that the switches in the shebang line DO count. Thanks for the clarification. -db