Problems with Scalar::Util which break weak references in debian
rjbs informed me about a problem with debian's version of
Scalar::Util. It does not properly implement the 'weaken'
subroutine. This means that a great deal of CPAN that relies on this
subroutine, and on weak references, fails. This also means that the
version of perl 5.8.8 that debian provides does not provide weak
references which are fairly widely used.
Scalar::Util is provided by libfilehandle-unget-perl, although my
understanding is that it is in the core distribution for perl 5.10.
I tried to use dh-make-perl to build a new Scalar::Util deb, but
dh-make-perl complains that it is a package in core, so would not
download and build the deb. I also looked at the Util.pm package and
found that it is out of date, the current version of Scalar::Util is
1.19 but the version provided by libfilehandle-unget-perl is 1.14,
this is why it does not show up in the qa report cgi script.
I am not sure about the best way to go about fixing this. I imagine
building a new deb with Scalar::Util (i.e. libscalar-util-perl) would
be the first step, then use its tests to make sure it works, and
build it. This is what I am going to try to do. If anyone has any
other suggestions I am open to advice.