Notes
|
chromatic |
Please send corrections and additions to perl-thisweek-YYYYMM@simon-cozens.org where YYYYMM is the current year and month. Changes and additions to the perl5-porters biographies are particularly welcome.
chromatic
P5P is in awe of the patience and test writing ability of chromatic, who
has, in a very short time, given us exhaustive new tests for
B::Terse,
Dumpvalue,
CGI::Fast,
CGI::Push,
CPAN::Nox,
Term::Cap,
Tie::Scalar,
Term::Complete,
ExtUtils::Command,
less,
open,
filetest,
sigtrap,
warnings::register, and a bunch of patches to older tests. Thank you!
Call for PerlIO bugs
Nicholas Clark found some people at a London.pm meeting who knew of unfixed PerlIO bugs, and suggested the following call-for-bugs:
If you are aware of a PerlIO bug that perl5-porters isn't aware of, please would you tell perl5-porters about it, preferably in the form of a regression test that will print "ok\n" once it is fixed. Else don't be surprised if 5.8.0 ships with the bug still present.
(While you're at it, report any other lurking bugs you know about.)
Attributes are broken
Arthur Bergman explained again why
attributes are broken . The problem is that the
MODIFY_*_ATTRIBUTE subs (used to set attributes for a variable) are called at compile time.
Thus, in the following code:
sub MODIFY_SCALAR_ATTRIBUTE {
...
tie $obj, $class;
}
for (1..10) {
my $foo : bar = "BAZ";
...
}
The variable
$foo would be tied only on the first iteration of the loop, after which the
scope cleanup mechanism would remove its magic, and the variable would
remain untied for the remaining iterations.
Multiple FETCHes
Jeff 'japhy' Pinyan attacked some instances of
FETCH being called multiple times on tied variables (for
$tied++,
$tied || $untied), thus causing potentially undesirable side-effects (Read an
analysis of the problem and
the proposed solution). Several people pointed out the
problems with this approach, but no better solution has been found yet.
Jeff also wanted to optimise
grep when called in boolean context (
if (grep EXPR, LIST)) to avoid iterating over the entire LIST, and just return the first
time
EXPR was true, but the
potentially desirable side-effects of
EXPR make this optimisation infeasible.
Code cleanups
Casey West embarked on a
pod/* cleanup, to make the example code use strict where appropriate, be
generally pleasing to the eye, and easy to understand. Despite this
noble goal, his patches were met with some suspicion.
Jeff Pinyan said the example shouldn't use
$a, the
sort variable, but Jarkko didn't want to encourage cargo-cult programming by
punishing the poor innocent
$a for the vagaries of
sort. Abigail didn't think the patches accomplished anything useful, but
Jarkko said that consistency and following our own suggestions (in
perlstyle) are obviously good things.
Casey posted an explanation:
I feel that my style is a generally acceptable one that everyone can understand. In that light, I don't think it's a bad thing if I make some minor changes (single versus double quotes) in the process of making a whole document better.
Nobody said anything after that.
Various
Andy Dougherty suggested an optional
make torture_test target to run tests which were not portable. (Schwern hasn't noticed
yet.)
Arthur Bergman is running the LXR cross referencing tools on the perl source. The result: PXR, the Perl Cross Reference. It will eventually contain cross references of perl-current, the latest stable release, and the Parrot source.
Brian Ingerson (of Inline fame) posted his first P5P patch, implementing
the oft-requested
Data::Dumper feature to allow hash keys to be sorted. He even got the indentation
right the first time!
Craig Berry provided a patch to fix
%ENV tainting on VMS. (Only five tests fail on VMS now, and a couple of them
are bogus failures.)
Jarkko released two snapshots: 12307 and 12340. (The latest snapshot can be retrieved via rsync from "ftp.funet.fi::perlsnap".)
Michael Schwern sought a philosophical solution to the finding the path
to the running perl interpreter. Instead, he found that the contents of
$^X are system dependent when perl is invoked by a #!-line.
Nicholas Clark continued to submit lots of little patches, one of which became change #12345. This is entirely fitting, because Nick is a hoopy frood who knows exactly where his towel is.
Paul Marquess and Robin Barker are investigating a DB_File bug involving filtered keys.
Stas Bekman is hunting down interesting MakeMaker (and related) bugs. He also found a scoping problem in the warnings pragma.
Finally, P5P was specially selected to receive a free mini-vacation to any of fifteen exciting destinations, along with several other people whose email addresses contained "per."
Abhijit Menon-Sen



