This Week on perl5-porters (29 December 2003 / 4 January 2004)

This Week on perl5-porters (29 December 2003 / 4 January 2004)

At the turn of the year, and in accordance with the grand schedule of things, occurred a code freeze for perl 5.8.3. Read below for the rest of the discussion that took place on perl5-porters.

Cloning in XS

Stas Bekman is writing a working demo implementation of the CLONE() function, for people who want to write multithread-friendly XS modules, without overlooking any case. Jan Dubois suggests that h2xs should know about CLONE() and insert the appropriate boilerplates; because currently the amount of code necessary to make an XS implementation of CLONE() work is too big.

Also related to cloning, but more general (as it affects pure-perl code), is bug #24383 : during cloning, hashes with the :unique attribute weren't made readonly on the interpreter clone. This was fixed by Dave Mitchell.

XS leaks when returning AVs/HVs

Marcus Holland-Moritz suspects that the code generated by xsubpp to return arrays and hashes from XS subroutines is potentially leaking memory. As some modules on CPAN appear to work around this, it's already too late to change it -- but this should be documented.

unpack() and UTF-8

While discussing bug #24767 -- a pack()/unpack() combination that's apparently not idempotent -- Wolfgang Laun asks the question : should unpack() warn when certain unpack codes are applied to an UTF-8 input? This needs further thinking.

Modules upgraded

Johan Vromans released Getopt::Long 2.34_01, introducing a new experimental feature : options with more than one value.

Dan Kogai released Encode 1.99, a bug-fix release. Tels released Math::Bigint 1.68. Andy Lester released Test::Harness 2.40. Ken Williams released Cwd 2.13.

In Brief

By doing some benchmarking, Marcus Holland-Moritz reaches the conclusion that using the optimization level -O3 on Linux with gcc is not worth it. He suggests to default to -O2 instead.$4046d2a0$d500a8c0%40R2D2

Craig Berry posted a status of maintperl on VMS. Several thinks need fixing, including MakeMaker (for which he provided a patch); but maybe Nicholas will decide to release perl 5.8.3 with the same version of MakeMaker that shipped with 5.8.2.[]


This summary was written in the early days of 2004 by Rafael Garcia-Suarez. Weekly summaries are published on and posted on a mailing list, which subscription address is Corrections and comments are welcome.