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


in reply to no module warnings in client code

There are missing variables here, such as is this a module you maintain, is it emitting warnings directly or using Carp or other secondary module, does your suggested code work?

In general, the easiest and most appropriate way to silence warnings is to address what the warning is complaining about. Assuming you don't want to do that, your code above would work, assuming that the module does not implement its own warning control. If it does, you can cheat by locally clobbering the warning handler:

{ local $SIG{__WARN__} = sub {#Drop it}; RandomModule::doSomethingThatCanGenerateWarnings(); }

Update: Added some <del> tags following a node update.


#11929 First ask yourself `How would I do this without a computer?' Then have the computer do it the same way.