Re: Config::General 2.31 (was: validator/httpd/cgi-bin sendfeedback.pl,1.4,1.4.2.1)

On Sat, 2006-02-25 at 11:10 +0100, Terje Bless wrote:
> Ville Skytta via cvs-syncmail <cvsmail@w3.org> wrote:
> 
> >Config::General 2.31 compat changes are needed here too.
> 
> Could you put in comments explaining the issue the workaround is for so it's
> easier to manage obsoleting the code at the appropriate point in the future.

The main issue is just that as far as I can tell, Config::General 2.31
started behaving according to its own documentation regarding
-MergeDuplicateBlocks.  This is not something that should need changing
in the future nor needs to be documented IMO.


The while-at-it workarounds I added are already documented:

    +# Config::General workarounds for <msg 0> issues:
    +$rsrc{msg}{0} ||=

If we have $rsrc{msg}{0}, all is well, and nothing needs to be done.
The ||= accomplishes that.

    +  delete($rsrc{'msg 0'}) ||                   # < 2.31

Versions < 2.31 generate a "msg 0" hash key from <msg 0>, so we have
$rsrc{'msg 0'}{verbose} and $rsrc{'msg 0'}{original}, not
$rsrc{msg}{0}{verbose} and $rsrc{msg}{0}{original}.

    +  { original => delete($rsrc{msg}{original}), #   2.31
    +    verbose  => delete($rsrc{msg}{verbose}),
    +  };

Version 2.31 completely ignores "0" and treats <msg 0> == <msg>,
creating $rsrc{msg}{verbose} and $rsrc{msg}{original} instead of
$rsrc{msg}{0}{verbose} and $rsrc{msg}{0}{original}.

Filed upstream: https://rt.cpan.org/Ticket/Display.html?id=17852

Received on Saturday, 25 February 2006 14:01:49 UTC