in reply to Taint is always on and I don't know why?

The easiest explanation is that you forgot to restart your web server, and that the old configuration (with PerlSwitches -T not commented out) is still in effect.

There are other reasons why taint checking might be performed, all of which are documented in perlsec. A common reason is the setuid or setgid bit in the permission mask of the script.