This Week on perl5-porters (Oct 04-10 2004)

This Week on perl5-porters (Oct 04-10 2004)

Crosscompiling perl

Alexander Povolotsky, lacking a native compiler on Linux PPC, tried to crosscompile from Cygwin (Intel). Many people admonished that while crosscompiling perl is possible in principle, there's little support for it, so getting the native compiler in place would probably be easier.

Threading crash with closures

John Gardiner Myers reported (bug #31851) a bug in threads where $thread->join prematurely frees a closure because the CVs' op tree refcount isn't thread safe. [Please correct this explanation if necessary.]

Smoke failing on FreeBSD

Abe Timmerman's new smoke machine, a FreeBSD-running sparc64, failed with what might be an integer-size configuration problem.

Weird results from hash assignment with duplicate keys

Boris Zentner, trying to remove duplicate hash values

  %h = reverse (%x = reverse %h);

discovered a fascinating bug (#31865) in assigning duplicate keys to a hash, pinpointed by Rick Delaney (and Devel::Peeked by Graham Barr):

    $ perl5.8.3 -le 'print (%x = ("a",1,"b",2,"b",3));'
    $ perl5.6.1 -le 'print (%x = ("a",1,"b",2,"b",3));'

(should be 'a1b3').

Making regcomp a list op

Dave Mitchell set the stage for fixing the behaviors of (?{...}) and regex objects, by making regcomp receive the components of run-time regexes ($a, '-', $b in /$a-$b/) as a list rather than a concatenation of the components. Commentators oohed and aahed as the chessmaster advanced his pawn. [If you're an internals novice like me, try understanding Dave's before and after B::Concise output, using B::Concise (what do the flags mean?), perlguts (the "Compiled code" section), and perlcall (what's a PUSHMARK?).]

IO::Poll undef fd unchecked in mask method

Peter Dintelmann found a problem (bug #31864) in IO::Poll, where its mask method incorrectly evaluated an undef argument as 0 (STDIN).

Dynaloader improvements and cleanup

Vadim Konovalov continued his Dynaloader patching from the previous week, and while he was at it enabled statically linked extensions for Win32. More fixes to come.


Encode 2.03 - Dan Kogai

Module::Build 0.26 - Ken Williams

Random quote

From Dave Mitchell's sig:

Any [programming] language that doesn't occasionally surprise the novice will pay for it by continually surprising the expert. -- Larry Wall


The thread for bug number $BUGNUM can be found at$BUGNUM

About this summary

This summary was written by Scott Lanning. Summaries are published weekly at and posted to a mailing list whose subscription address is The archive is at Comments and corrections welcome.