Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Re: no module warnings in client code

by kennethk (Monsignor)
on Aug 27, 2013 at 13:46 UTC ( #1051136=note: print w/ replies, xml ) Need Help??


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.


Comment on Re: no module warnings in client code
Select or Download Code
Re^2: no module warnings in client code
by citromatik (Curate) on Aug 27, 2013 at 14:05 UTC

    Hi kennethk

    My suggested code doesn't work... If it had worked I wouldn't have asked!

    Here is a testing code:

    Package:

    package tt; use strict; use warnings; sub w { my $str = ""; return substr ($str, 10, 10); } 1;

    Client script:

    use strict; use tt; print tt::w();

    Defining a local warning handler works perfectly:

    use strict; use tt; local $SIG{__WARN__} = sub {}; print tt::w();

    Thanks for the help

    citromatik

      Hi citromatik,
      And you might want to but local $SIG{__WARN__} = sub{}; into a block like kennethk did it.
      If not, you would not receive any other warnings from your client script.
      Just saying ...
      If you tell me, I'll forget.
      If you show me, I'll remember.
      if you involve me, I'll understand.
      --- Author unknown to me

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1051136]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (6)
As of 2014-12-28 11:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (180 votes), past polls