This Week on perl5-porters (10-16 May 2004)

This Week on perl5-porters (10-16 May 2004)

Welcome to our latest edition of the P5P summary, for which I'm sure you have been waiting. This week, you'll read about considerations on Storable, nice improvements to the debugger, bugs, and other interesting subjects.

Storable and memory usage

Richard Jelinek was wondering about the reason why the Storable module sometimes uses so much memory when large hashes are stored. Nicholas Clark explained some of the inner workings of Storable, which needs to keep track of every element it stores, in order to avoid duplicates; and he suggests that maybe using a DB file would be a better idea. Mark-Jason Dominus suggests to add an option to Storable to avoid the duplicate check; this would reduce memory consumption, at the expense of cloning the data structures at retrieval-time.

Stepping backwards

Richard Foley sent a patch to implement backwards stepping in the perl debugger. He explains: Stepping backwards is made possible by using a true history (earlier save command), and rerunning the debugger to the indicated command, or to so-many steps backwards, or to the current position.

Command-line options

Jim Cromie supplied a patch to provide an explanation for the -D debugging command-line switch, when it's invoked with wrong suboptions.

He also added some search options for the -V: option, which enables to search through perl's configuration variables.

Regexp bug

Til Schubbe found a regexp bug (#29538). He provides the example of a regular expression that behaves correctly with /i, but not without, even though there is no letter in the regexp. Jeff Pinyan provided some technical analysis, but no fix (yet).

Encoding and CRLF files on windows

Jan Dubois notices that one cannot write a file in some encodings on Windows (with the example of ucs2le) because the output file will be corrupted by spurious CRLF end-of-line conversions. (The :crlf layer is present by default under Windows.) Adding a :raw PerlIO layer is necessary to get the correct final encoding.

Dan Kogai comments that UCS-2 should always be treated as binary, which sounds like a sane idea.

In Brief

Rafael patched XSLoader to record the paths of loaded .so files in @DynaLoader::dl_shared_objects.

Encode 2.00 was released by Dan Kogai. In spite of the name, that's not a new major version release, that's only 1.99++ :)

About this summary

This summary was written by Rafael Garcia-Suarez. Weekly summaries are published on and posted on a mailing list, which subscription address is Comments and corrections welcome.