OK, you know already the big news of the week, don't you ? This report will tell you what happened behind the scenes of the 5.8.0 final releasing.
Russ Allbery released new versions of Term::ANSIColor
(1.05) and of podlators
(1.23),
with documentation changes only,
which were promptly assimilated.
Nick Ing-Simmons found an old,
unused feature that was deeply burried into the perl code : when loading a module via use
or require
,
perl checks whether there's a .pmc
file along the .pm
file,
and newer; if it finds it,
it gets loaded in place of the .pm
.
This was intended to be used by the byteloader,
but apparently isn't used at all (unless something was missed.) Anyway it was too late to remove it.
The perlbug database has switched from the old perlbug system to a new system running Request Tracker (at http://rt.perl.org/perlbug/). The new system will probably need a few weeks of tuning before it finds a stable state. It's worth nothing that bug ids (now known as ticket numbers) have changed -- the new system converting them internally.
Many thanks to Robert Spier, Jesse Vincent, Robert Foley, and to everyone that works (and has worked) on implementing and improving the bug report system ! Quoting Jarkko, it's a very thankless task, and it's one of the key elements in successful software projects.
Robert Spier and Ask Bjoern Hansen also built http://dev.perl.org/perl5/ that now centralizes the Perl 5 development resources.
Aaron J Mackey built perl RC 3 with Insure (a tool to check memory access and leaks). As he summarized the results : in short: not too bad. Nevertheless, some of the points he uncovered will need some checking in the future.
Marcel Gruenauer found a new bug in the PerlIO system,
related to stacking the via
and the scalar
layers.
Apparently,
something like
open my $fh, ">:scalar:via(QuotedPrint)", \$x or die $!;
didn't work as intended. This buglet was promptly fixed by Nick Ing-Simmons.
Moreover Elizabeth Mattijsen found a workaround -- postponing the push of the via
layer makes this example work :
open( my $fh, ">", \$x ); # equivalent to ">:scalar" binmode( $fh,":via(QuotedPrint)" );
Chris Nandor, maintainer of MacPerl, asked about the better way to add support for programs with MacOS-style end of lines : a straight modification of the tokenizer, or a :mac
PerlIO layer ? Gurusamy Sarathy and Nick Ing-Simmons said that modifying the tokenizer is probably best done by using the source filter hook that is already in place. But Chris decided to work on a PerlIO-based solution, that will be in MacPerl 5.8.0 (and hopefully in Perl 5.8.1).
Sarathy said that there will be a 5.6.2 at some point, but I don't care to speculate on when. I foresee no urgency for a 5.6.2 if 5.8.0 turns out to be the high quality release all of us expect it to be.
Chip Salzenberg began to work on a new maintenance release of the 5.005 branch, aimed at keeping it buildable with modern systems and compilers. Welcome back to Perl development, Chip !
I can see the light at the end of the tunnel... or is it the oncoming upset dragon? -- Jarkko Hietaniemi
Now that Perl 5.8.0 has been released, Jarkko will now be able to get some well-deserved vacation. Kudos to him for his unbelievable amount of work, his helpfulness, his competence, his professionalism, and his humor. Jarkko, this was a pleasure to work with you.
The pumpking for the 5.9 development branch is Hugo van der Sanden, who says :
I'll be in San Diego for the next week, so don't expect anything much during that time. Please start thinking off-list about what should go into 5.9; the lists will be opened when I get back.
Chip Salzenberg, working on 5.005_04, discovered an apparent memory waste on hash buckets allocation. This suboptimal memory allocation is still present in perl 5.8.0, for perls built without -Dusemymalloc
or without the C preprocessor symbol STRANGE_MALLOC
(that you should define yourself, as it is never set by Configure
.)
Chip suggested to build perl with -DSTRANGE_MALLOC
when perl's malloc isn't used. Nick Clark ran a benchmark and this option doesn't seem to increase perl's speed ; but the memory usage should go down significantly in programs that use large hashes or lots of hashes. What's missing is a benchmark that outputs comprehensive memory stats.
sort
pragmaMichael G Schwern pointed a small inaccuracy in the docs for the sort
pragma. John P Linderman (expert in sorting), while trying to improve those docs, realized that the interface to this pragma was rather minimal and threw up a couple of new options in its import and unimport methods.
Brent Dax submitted a patch that adds the //
, //=
and err
operators to Perl 5. As you know if you've read the Apocalypses, these operators are borrowed from Perl 6. As Brent puts it in the doc part of his patch : //
[...] is exactly the same as ||
, except that it tests the left hand side's definedness instead of its truth.
As this patch adds new ops, various tweaks are necessary to the rest of perl to make it work flawlessly ; Brent provided an assorted patch to B::Deparse
, and pointed out that the Opcode
and Safe
modules may need some work.
This report is now availaible via a mailing list, which subscription address is perl5-summary-subscribe@perl.org.