Re: suppressing perl warnings

2013-03-24 23:26:12
On Sun, Mar 24, 2013 at 9:29 PM, Jeff Breidenbach wrote:
I've decided to ship hkoba's deprecation patch with Debian as of today. This
will automatically propagate to quite a few Linux distributions with time.
Please speak up if you think this is a terrible idea.

Interesting that the no-warn pragma is not enough to shut perl up.

The way certain structures are initialized is a bit weird, and not
ideal.  The check is to see if the glob itself has been instantiated.
For example, take the following:

  %MIMEDecoders = () unless defined(%MIMEDecoders);

The intent of the above statement is only "instantiate" the (glob) hash
MIMEDecoders if it has not already been instantiated.  The order of
execution can have the above hash defined, and populated, before the library is required.

Trying to remember things, I think the statements are also intended to
"declare" the variables so there is clearer indication in the source of
their existence vs relying on implied instantiation (which is has grown
in disfavor over Perl's history).

<>, the use of
defined(%hash) was not well defined (no pun intended), so what I was
doing (since Perl 4 days) is not good, but that detail was not really
spelled out when the code was first implemented.

The usage may also have been essential to operation under Perl 4
interpreters, but I am not certain on this since it was a long time ago.

The thread provides a method to get the type of test intended, but after
some thought, I am not sure if it needed.

The patch, as I see it, basically changes the statements to no-ops, but
without some redesign of how mhonarc initializes itself (which I have
little incentive and desired to do), it may be the only thing that
shuts-up perl.

At this time, I have no real objections to having the patch applied to
the Debian version, but I cannot give you 100% certainty if doing so may
cause problems for someone.  I would recommend you (at least for to test the patch before using in production.  I do
not expect any problems.


To sign-off this list, send email to majordomo(_at_)mhonarc(_dot_)org with the

<Prev in Thread] Current Thread [Next in Thread>