This week on perl5-porters (19-25 August 2002)

This week on perl5-porters (19-25 August 2002)

I guess those thunderstorms came. And how they came. From an even wetter than normal country on the shores of the North Sea, comes this weeks perl5-porters summary.

Credit where credit's due

I misinterpreted Gerrit P. Haase contribution to Time::HiRes last week. It was in fact Jarkko Hietaniemi who has done the work. It's good to know Jarkko is still with us, after all the good work he's done as the 5.8.0 pumpkin. Thanks to Gerrit for pointing this out to me.


It would seem that perlbug reports do appear on I don't know what I was on last week, I could have sworn they weren't there. But, the fact that they don't appear on Google, has been confirmed. Some kind of header problem is expected, investigations are still continuing.

Nicholas Clark started some discussion about the way, the module that keeps Perl's internal configuration. Over the years, it has grown to keep quite a lot of information, and choices have been made in the past to reduce its size and/or CPU needs. Nicholas questions whether they have all been good ones.

Goodbye (and hello) to threads

I must have had a bad hair day when I posted this message. Fortunately, Dave Mitchell, Dan Sugalski and Benjamin Goldberg pointed me to the errors of my ways. This should turn into a better tutorial for beginning thread programmers, such as me.

Big Badda leak in Sockets

Vipul reported a memory leak using sockets. Graham Barr and Nick Ing-Simmons look into it and confirm that it is a new, fresh 5.8.0 leak that is related to PerlIO for sockets.

B::SV::FLAGS dumps core

A bug report by Mark Jason Dominus turned out to be mainly a documentation deficiency, which will probably lead to a. better documentation, and b. an OO interface to B::SV.

Regex optimisations

Chris Ball started a thread on automatically optimizing regular expressions, which quickly turned into a discussion about proper benchmarking. Mark Jason Dominus mentioned his Rx module (available from CPAN), which you could also use to optimize regular expressions.

Several bugs confirmed with Valgrind

This week I finally installed Valgrind. I guess this tool for checking memory accesses in programs, can't be plugged enough. Any error report that involves a segmentation fault, is easily traced back with this gem of an open source program. Get it and use it! (for x86 systems only, unfortunately).

p5p patches

H.Merijn Brand started a thread on the proper way to submit patches to p5p. Some people prefer -u, other prefer -p. The final consensus (with appropriate changes to the patching.pod) is to use -u -p. It starts here:

use less 'memory'

Nicholas Clark's work on COW (Copy-On-Write) strings, caused him to look at the (currently) dummy pragmatic module Seems there is still some infrastructure missing before module authors will be able to optimize their modules for e.g. memory or CPU usage.


Nicholas Clark has been very busy this week. In an exposé on his work on COW for perl5, he describes all the (im)possibilities of doing COW. Impressive. Nobody has dared to go into it (yet). It can be found at:

shift // 0 fixed

Rafael marks his return by supplying patches for handling the new // operator when using functions such as shift. It would seem the road is now clear to officially use // as a "defined-or" operator.

No more Google

Over the two weeks I did this summary, it became clear to me that many messages from perl5.porters do not appear on Even though gives you a better overview of what is going on in a thread, there's not much point if half of the thread is missing, is there? I therefore made all the links to the xray machine in Germany. I hope they'll forgive me there.

About this summary

The summary is brought to you by Elizabeth Mattijsen, while Rafael Garcia-Suarez has enjoyed a well deserved vacation. It's also available via mailing list, to which you may subscribe by sending an email to .

And yes: I still do threads.