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


in reply to Re: Four annoying warnings
in thread Four annoying warnings

perl -M-warnings=uninitialized,numeric,once,void -E"123;$x=1;print $y; 'A'+0"

But with strict that already doesn't compile. When you use strict, "once" usually becomes pretty irrelevant.

"(My point being that args to no warnings;can be meultiple: no warnings qw[uninitialized numeric once void];"

I'm aware of that. The four line block of the code was intended as four individual examples of how to disable specific warning categories, rather than a single block that should be copied and pasted into actual scripts.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'

Replies are listed 'Best First'.
Re^3: Four annoying warnings
by chrestomanci (Priest) on Dec 11, 2012 at 17:01 UTC
    But with strict that already doesn't compile. When you use strict, "once" usually becomes pretty irrelevant.

    Mostly yes, but not if you refer to a fully qualified varable from another package. For example, when I am debugging my code, I often put DB::single=1 at various places. Sometime I leave those line in production code inside assert like error checks, as a kind of assert that will only go off when debugging.

    I have found that those lines will trigger the "once" warning, which is irritating.