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'