Current Perl documentation can be found at

Here is our local, out-dated (pre-5.6) version:

The $^W variable (documented in the perlvar manpage) controls runtime warnings for a block:

        local $^W = 0;        # temporarily turn off warnings
        $a = $b + $c;         # I know these might be undef

Note that like all the punctuation variables, you cannot currently use my() on $^W, only local().

A new use warnings pragma is in the works to provide finer control over all this. The curious should check the perl5-porters mailing list archives for details.