in reply to How do I tell if strict, taint, etc are on?

You can check for taint checking using $^T (documented in perlvar).

There's no such thing as strict being on or off. There are three kinds of strict checks which are independant. You can check their status by causing a violation in an eval:

my $strict_refs = not eval { no warnings; ${'var'}; 1 }; my $strict_subs = not eval 'no warnings; ThisDoesNotExist; 1'; my $strict_vars = not eval 'no warnings; $ThisDoesNotExist; 1';

Similar to strict checks, there's no such thing as warnings being on or off. There are many kinds of warning checks which are independant. $^W will tell you if -w on the command line (or equivalent), but each and all individual warnings can be enabled and disabled using warnings without affecting $^W. You can check if a particular warning is enabled using warnings::enabled().