note
toolic
I noticed that the deprecated warning is generated even when [doc://warnings] are not in effect! This leads me to believe that this category of warning messages is not controlled by the usual means (<c>-w</c>, <c>use warnings</c>, etc.). Consider:
<c>
$ perl -e 'sub pdu:locked:method { return 'pdu'} print pdu(), $/'
Use of :locked is deprecated at -e line 1.
5
$ perl -e 'my @array; if (defined @array) { print 6 }'
defined(@array) is deprecated at -e line 1.
(Maybe you should just omit the defined()?)
</c>
<p>A little more digging leads me to [doc://perl5120delta], in its "Potentially Incompatible Changes" section:
[doc://perl5120delta#Deprecations-warn-by-default]
<blockquote>
Perl now defaults to issuing a warning if a deprecated language feature is used.
</blockquote>
<p>The doc mentions a way to lexically disable the warning (as you have already tried), but there is no mention of a way to globally disable it.
<p>As you may be aware, there is already a bug report for this on [mod://Net::SNMP]. The best solution, of course, is to fix the module. Perhaps you could be proactive and upload a patch to fix this. You would then have your own local copy without the warnings until the module author implements the fix.
850850
850850