Turning off warnings without turning them back on is a pretty-darn-bad practice.I'd say that any manual "turning warnings back on" is very bad practise. Even if you don't use use warnings (which has been available for more than 5 years), turning off warnings should be done by using a localized value for $^W, so the old value of $^W will be restored - no matter what the old value was, and no matter how the block is left.
That's only half of your tests, isn't it? What's missing is:is( $^W, 1, 'warnings are on' ); third_party_code(); is( $^W, 1, 'warnings are still on' );
after all, you want to test that a piece of code leaves $^W as is.{ local $^W; third_party_code(); ok (!$^W, 'warnings still off'); }
But then, why stop at testing $^W? How about $*? $"? @ARGV?, %SIG? $package::var?
In reply to Re: Testing $^W
by Perl Mouse
in thread Testing $^W
by dws
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |