How do I temporarily block warnings?

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.