http://www.perlmonks.org?node_id=683

Current Perl documentation can be found at perldoc.perl.org.

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.