This Week on perl5-porters (30 June / 6 July 2003)

[email protected] (Rafael Garcia-Suarez) Tue, 8 Jul 2003 13:14:50 +0200
Newsgroups perl.perl5.porters,perl.perl5.summary
Message-ID <[email protected]>
This Week on perl5-porters (30 June / 6 July 2003)
  As the next maintenance release of perl is getting closer, the porters
  are still fixing bugs. Among the subjects that have been investigated
  this week, we can remember some hash-ordering-dependent bugs, process
  name problems, and more syntactic issues.

Hashes that bite
  The hash seed randomization patch that was introduced last week (see our
  previous summary) uncovered some nasty bugs in perl and in its test
  suite.

  Craig Berry discovered a bug in the order of destruction of weak
  references. This was fixed by Dave Mitchell.

  Enache Adrian noticed that rebuilds were made quite more often. This was
  caused by some shuffling of the keys in the generated Config.pm.

  There were some hash-order dependent tests as well, sometimes the cause
  being deeply hidden in the harness, or in the internals of
  Test::Builder.

  Paul Johnson says that he expects "some very impressive fireworks when
  this gets out into the wild". And in fact Slaven Rezic obtains random
  failures with HTML::Mason (that would be caused by Exception::Class) and
  SOAP::Lite.

Setting $0
  Andreas Koenig and Jarkko Hietaniemi were (once again) working on the
  problem of setting the $0 variable and having it change the name by
  which the operating system knows the perl process. The problem is, of
  course, how to cope with the ideas the various platforms have about it.

perl581delta
  Jarkko began to work (with the help of the porters) on the next
  incarnation of the perldelta manpage, to be bundled with the upcoming
  perl 5.8.1. And he released a large number of maintperl snapshots.
  Release candidates are obviously getting closer.

More syntax weirdness with indirect objects
  Dave Mitchell gives a snippet of code :

    sub f { f a; } f a;

  where the first "f a" is an indirect method call, using the indirect
  object notation (it's equivalent to "a->f()"), whereas the second "f a"
  is equivalent to f(a) (with "a" being a bareword).

  I'd say this particular syntax oddity is sub-optimal, -- but the
  indirect object syntax is hairy.

      http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-07/msg00066.html

Harness speed
  Abigail complained that Test::Harness prints a counter at each test,
  thus augmenting the amount of time needed to run large number of tests.
  This ended up in a patch. As says Andy Lester, Test::Harness'
  maintainer, "now, when you run a test harnessed, the numbers don't fly
  by one at a time, one update per second." (In the same thread, Gurusamy
  Sarathy recalls the HARNESS_NOTTY environment variable, that suppresses
  progress messages.)

      http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-07/msg00212.html

Briefly
  Jarkko, after a suggestion by Robin Barker, added a new utility in
  perl's source distribution, Porting/Modules, to list the official
  maintainers of the modules (this is mostly useful for the modules that
  have a dual life on CPAN). Michael Schwern pointed out that he was
  reinventing the Module::CoreList wheel ; and Jarkko removed this
  Modules.

  Dan Kogai explained that FreeBSD comes with an implementation of
  malloc() that is optimized for paged memory, and safe from duplicate
  free() calls. But the downside is that realloc() is very slow. That's
  usually not a big deal, because most programs don't use realloc() very
  often -- but perl does. (The default configuration of perl on FreeBSD is
  to use perl's internal malloc, that hasn't this realloc limitation.)

  James Jurach provided a patch to use 32 bit integers instead of 16 bit
  integers for line numbers. As it didn't seem to increase the size of
  cops on several platforms, it went in.

  Steve Grazzini produced a patch for the "my SLICE" syntax we discussed
  last week. Its implementation was criticized ; and it wasn't applied.

  As Randal L. Schwartz reported, the initial value of @INC (and directory
  installation scheme) of perl on MacOS X has to be cleaned up, as it
  causes problems with "make install UNINST=1" (a sub-optimally documented
  MakeMaker feature, used to uninstall previous versions found in @INC).

  Vadim Konovalov provided more WinCE portability patches, with threads
  and fork emulation.

  Tels pre-released Math::BigInt v1.65, Math::BigRat v0.10, and bignum
  v0.14. Michael Schwern released MakeMaker 6.10_07.

  Perl 5 turned 20000 patches old.

About this summary
  This week's summary was written by Rafael Garcia-Suarez. Weekly
  summaries are published on http://use.perl.org/ and on a mailing list,
  which subscription address is perl5-summary-subscribe at perl.org.
  Comments, corrections, additions, and suggestions are (as always)
  welcome.