Jeremiah C. Foster wrote: > 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. Do you have a test case showing weaken failing to work? I tested with some simple things and it seems to work: joey@kodama:~>perl -le '{ my $var="set"; $ref=\$var; }; print defined $ref' 1 joey@kodama:~>perl -le 'use Scalar::Util "weaken"; { my $var="set"; $ref=\$var; weaken($ref); }; print defined $ref' joey@kodama:~> I've also used weaken in production code, with no problems. > Scalar::Util is provided by libfilehandle-unget-perl, although my > understanding is that it is in the core distribution for perl 5.10. No, Scalar::Util is provided by perl-base; it's been included in the perl core for a while -- well before perl 5.10. libfilehandle-unget-perl's source package contains an old copy (of version 1.14) in inc/, but this is not built in the binary package. (BTW AFAIK the actual implementation of weaken is in the List::Util XS, which is also in perl core.) > I am not sure about the best way to go about fixing this. I imagine the first thing would be to file a bug report with enough information for someone to reproduce your problem. -- see shy jo
Attachment:
signature.asc
Description: Digital signature