=head1 This Week on perl5-porters - 1-7 September 2008 I<"These [tests] are new and also fail in blead. The watchdog that is supposed to only kill a stuck process is definitely not waiting 120 seconds, and when it fires it takes out the process from which Perl was started. Maybe that's intentional, but it did surprise me the first time my telnet session disappeared."> -- Craig A. Berry, bringing maint goodness to VMS =head1 Topics of Interest =head2 Request C as per C in C I Darren Duncan wanted to see a C appear in C that would perform a C on its argument rather than an C. This would be helpful in role-based programming. Matt Trout noted that this is already implemented in C and thought that this was the best place for it. Rafael Garcia-Suarez thought that he would have paid more attention to the matter had it been related to the new C in 5.10. chromatic wondered whether C (in 5.8) was doing something dramatically different from C. does it indeed http://xrl.us/oq49u =head2 Perl-5.8.6 or Perl-5.8.5 Install/Build process on AIX 5.3 Over the space of about 30 hours, H.Merijn Brand, assisted by Andy Dougherty helped Mohammed Arshad get Perl 5.8.8 up and running on AIX 5.3. They nearly got DBD-Oracle running as well, but thankfully Nicholas put an end to the thread when he suggested that the C mailing list was a better venue for such matters. the doctor is [in] http://xrl.us/oq49w =head2 Smartmatch with regex in list context Moritz Lenz forwarded a link to a Perlmonks discussion where it is shown that smartmatching against a regular expression doesn't behave the same way a regular match when in list context. That is, the following: my @a = 'aaa' =~ /./g; # match my @b = 'bbb' ~~ /./g; # smart-match don't do the same thing. Aristotle Pagaltzis pointed out that changing this would introduce a difference in behaviour compared to using a string in list context. Moritz argued that changing things to his way of thinking would be more in line with Perl 6. smartest smart match http://perlmonks.org/?node_id=708150 http://xrl.us/oq49y =head2 Forcing older perl to use an older version of cpan module? Chia-liang Kao uploaded a shiny C to CPAN, only to discover that it fails to compile on 5.6.2, and wanted to know what was the best way to signal to people trapped in 5.6-land to not attempt to install this upgrade. Nicholas Clark wanted to know why a C would not suffice. Eric Wilhelm suggested that such a task (getting this new release to work on 5.6 -- the exact details are rather minor) is exactly the sort of thing one would pay a vendor to take care of. This amused Nicholas no end. chromatic took the opportunity to ask a number of questions to try and understand why it's so hard to release a new version of Perl. To his way of thinking, it should be so simple that people could upgrade their perl (and not just a module or two), easily and without fuss. Jesse Vincent, speaking with the hindsight of Parrot's monthly release schedule, wanted to know how one would go about doing something similar for Perl 5. chromatic responded with a nineteen point plan. A number of people volunteered to fill in the slots proposed in chromatic's Plan. just upgrade already http://xrl.us/oq492 =head2 TODO list for moving to git Ricardo Signes wanted a TODO list for moving to git to see the light of day. The move was proposed in March, and six months later we're still in Perforce. Nicholas responded with six main points. H.Merijn Brand requested a cheat-sheet for hardcore Perforce users to help them get up to gitspeed. Craig A. Berry pointed out that a major smoker issue is that smoking is carried out by keeping track a monotonical patch sequence. When the switch to git is made, that will be replaced by an opaque digest string, so it becomes difficult to figure out whether one is up to date. Perlbrowse (the web viewer of the change history) is another major piece of work that will need to be taken care of. Many of the popular platforms have working git implementations these days, VMS being the major exception to the rule. git along http://xrl.us/oq494 =head2 Hosting Perl's git Yuval Kogman despaired at the waffling in the first git thread, and so he started a new JFDI git thread. While he was right in suggesting that the git migration doesn't have to occur all at once, Nicholas Clark reminded him that lots of commits are made to codebase each and every day, which means that the switch-over needs to be done with minimal down-time. fast flux changelogs http://xrl.us/oq496 =head2 maintperl-5.8.x's C fails tests on Mandriva Shlomi Fish reported problems with 5.8.9-tobe building C, and this turned out to be a problem due to an C not removing files orphaned files from the build. This can be done with the C<--delete> switch. Nicholas Clark has always been reluctant to put that in the instructions, because if the C command is run from the wrong place, a lot of files can wind up being unexpectedly deleted. He thought that an improved recipe involving C<--dry-run> might be called for. the kitchen rsync http://xrl.us/oq498 =head2 Perl with dtrace support built in Edward Peschko, having read about Andy Armstrong's, Alan Burlison's and Seven Dowideit's efforts to build a dtraced perl, wondered if it was available yet in the standard or a vendor distribution. Nicholas explained that it was in blead and the 5.10 track, so it will see the light of day first as 5.10.1. Steffen Müller announced that he updates his 5.10 installation directly from the source tree from time to time and uses it directly in production... and is very happy with the results. Andy Armstrong posted a patch for people who want to dtrace 5.10.0 now, today. dtrace probity http://xrl.us/oq5aa =head2 Helping with 5.8.9 After Nicholas Clark told Paul Fenwick that he would not be able to review Paul's C work before getting 5.8.9 out the door, Paul put that aside for the moment and promised, in between holding Perl training sessions dressed up as a pirate, that he would avail himself to writing the perl589delta document. After examining the size of the F file, he announced that he was going to chop it up month by month, and farm them out to willing victim^Wvolunteers to try and get some parallel processing happening. it's alive http://xrl.us/oq5ac After starting to knock some sense into the document, Paul issued a wider call for assistance. now for the paperwork http://xrl.us/oq5ae =head2 Git for perforce users Yuval also took a crack at writing a cheat-sheet for git, which was reviewed by Rafaël Garcia-Suarez and Aristotle Pagaltszis. git crit(?:ic|ter)s apply within http://xrl.us/oq5ag =head2 maint-5.8@34289 on VMS Craig A. Berry gave an update on the current problems that maint has on VMS. A couple of VMSperlers piped up with suggestions, and at the end of the thread there was a solution for taking out the perl process rather than its controlling terminal, and a solution to a C waking up too early and causing a watchdog to bark too soon. more songs about building and VMS http://xrl.us/oq5ai =head2 perl@34300 Nicholas Clark released a snapshot of what 5.8.9 is likely to look like. Robin Barker found a problem with C and suggested a solution. Nicholas thanked him for the feedback. If I download the snapshot and find a problem, Nicholas will thank I, too. still smoking http://xrl.us/oq5ak =head2 PathTools CPAN vs. blead Nicholas asked about a problem that arose last year concerning C<%ENV> traversal on VMS, in that the contents can change more or less asynchronously. John E. Malmberg explained that that's how things work on VMS: the environment table is mapped to VMS's logical names infrastructure, which is system-wide in scope and thus may be in a permanent state of flux. not quite Unix http://xrl.us/oq5an =head1 TODO of the week Smoke maint-5.8. Seriously. On any weird platform and/or compiler you can lay your hands on. =head1 Patches of Interest =head2 AutoLoader 0.67 Steffen Müller offered a patch that synchronised the CPAN version of C with bleadperl and said that it would be safe to apply it to the 5.8 and 5.10 tracks as well. Nicholas Clark applied it to blead. http://xrl.us/oq5ap =head1 New and old bugs from RT =head2 C does not work on 21 Han codepoints (#58428) Karl Williamson set in a patch to fix this up for UCD 4.1 and beyond and suggested it may work for earlier versions. Un-looked-at. http://xrl.us/oq5ar =head2 C does not work as documented, nor probably as intended (#58430) Karl also spent more time on this related bug by plumbing the depths of the text file that stores the case folding information. While the file is poorly documented, he was able to draw some reasonable conclusions by empirical observation. From his analysis, he concluded that the C function doesn't follow the ideal case folding algorithm. In which case, it needs work. raise you an lc() http://xrl.us/oq5at =head2 Bus error with constant + overload + stash manipulation + bless (#58530) Father Chrysostomos showed how a particularly twisted blend of code can make the interpreter throw up its hands in a panic. bless my soul http://xrl.us/oq5av =head2 Compiling PERL 5.8.8 on AS/400 PASE environment. (#58566) Wayne Johnson was trying to compile on an AS/400 environment, received a weird error from C regarding the impossibility of finding a Bourne shell on the system, and then Wayne referred to AIX. This left H.Merijn Brand confused as to which environment Wayne was really using. http://xrl.us/oq5ax =head2 C and slashes within qr (#58608) Tina posted a short, sweet snippet showing how C gets confused over a string that is defined as C and then used as a regular expression via C. C makes a mess of escaping things and as a result its output cannot be C'ed back again to recover the pattern. Bram was able to produce a number of variations on the theme, but was at a loss as to how to fix it. He saw how the code in C blindly tried to escape C slashes so that it could emit the pattern as C. C goes to a lot more effort to try and find some reasonable delimiters, but Bram suspects that even there the code doesn't really solve the problem, just reduces the possibility of failure down into a smaller range. David Nicol suggested returning a C block that would C the pattern back into existence correctly. no-one evals Data::Dumper output, right? http://xrl.us/oq5az =head2 C causes segfault with C (#58614) Yuval Kogman wanted to iterate with an array variable over an array. When C is near by, one has a choice between a segfault or a bus error. Yuval thought the problem with the parse error (hint: you cannot iterate with an @array) was causing C<%^H> to be cleaned up poorly and thus creating a cascade of garbage collection problems. Dave Mitchell was of course able to boil the problem down to a pair of simple files that used no other modules. This allowed him to figure out what was probably going on underneath the hood, but admitted not having much time to investigate any further. http://xrl.us/oq5a3 =head2 Perl5 Bug Summary 263 new + 1030 open = 1293 (+5 -2) http://xrl.us/oq5a5 http://rt.perl.org/rt3/NoAuth/perl5/Overview.html =head1 New Core Modules =over 4 =item C 0.81_01 Michael G. Schwern announced a development snapshot of C replete with shiny goodness and a solution for a 4 year old bug report. Andreas König announced that it caused a failure in C's test suite. http://xrl.us/oq5a7 =back =head1 In Brief Nicholas Clark recalled that B. The original test harness had about 6 lines of useful code. These days it contains quite a lot more... http://xrl.us/oq5a9 =head2 About this summary This summary was written by David Landgren. Weekly summaries are published on F and posted on a mailing list, (subscription: F). The archive is at F. Corrections and comments are welcome. If you found this summary useful, please consider contributing to the Perl Foundation or attending a YAPC to help support the development of Perl.