November 2012 Archives

Alien::Base Grant - Report #7

Joel Berger wrote:

This month featured lots of work in the latter parts of Alien::Base. These improve library detection logic, pkg-config functionality and packlist support.

I was especially pleased to get a bug report filed by bpo regular Toby Inkster. He is writing a provisional Alien::LibXML based on Alien::Base. He noticed some odd behaviors that we are still trying to work out. This feedback led to more improvements than just his, so please keep the bug reports coming!

This month I released three dev versions, the latest being released this evening. I also released Acme::Ford::Prefect again, this time the tests shouldn't fail on CPANtesters computers who don't actually install the dependent modules for the one that they are testing. This module is one of the "downstream" modules that are part of the test system for Alien::Base (along with Acme::Alien::DontPanic). These are needed since some of the magic happens during the final installation so tests have to occur AFTER installation of the module in question.

I was saddened this month to learn that Strawberry Perl doesn't include a Bash interpreter with its build environment. I was under that impression since Strawberry is built on MinGW (compiler) and also includes make, that meant that it bundled MinGW's MSYS environment. Unfortunately this isn't true, Strawberry bundles its own make, but not the other tools provided by MSYS, like Bash, and thus it cannot run configure scripts. Oh well, I always planned on pre-built binaries for Windows, guess I'm back to that.

I know I say this regularly, but the system is very close to completion! I'm not going to claim this month again, but sometime very soon!

Original article at Joel Berger [].

Dave Mitchell writes:

As per my grant conditions, here is a report for the October period. (sorry, this report is about 3 weeks late).

Last month was mostly spent continuing to work on the PADRANGE optimisation. The work is actually complete now, but was finished after the end of this report's scope, so will be covered in more detail in next month's report.

Apart from working the PADRANGE optimisation itself, the work triggered some other pieces of work, in particular:

  • was wildly under-tested; it now has some basic tests of all keywords with (where appropriate) various permutation of args.
  • Added a new facility to that allows you to create an "overlay" view of an optree. Deparse now uses this to 'undo' the padrange optimisation, allowing it to pretend the optimisation never happened. This means that the changes required to Deparse to support PADRANGE are just a few lines during an initial treewalk, rather than potentially hundreds of changes scattered all around the code, with the possibility that something's been missed.

In particular, the entirety of the code that had to be added to to support the new PADRANGE op is:

        if ($ppname eq "padrange") {
            $B::overlay->{$$op} = {
                    name => 'pushmark',
                    private => ($op->private & OPpLVAL_INTRO),
                    next    => $op->sibling,
  • Did some heavy reworking of the B::*OP methods within B.xs to make the code more maintainable and to restore compatibility with 5.16.x.

Over the last month I have averaged 24 hours per week

As of 2012/10/31: since the beginning of the grant:

138.4 weeks
1551.6 total hours
11.2 average hours per week

There are 148 hours left on the grant.

Report for period 2012/10/01 to 2012/10/31 inclusive


Effort (HH::MM):

0:00 diagnosing bugs
108:35 fixing bugs
0:00 reviewing other people's bug fixes
0:00 reviewing ticket histories
0:00 review the ticket queue (triage)
108:35 Total

Numbers of tickets closed:

1 tickets closed that have been worked on
0 tickets closed related to bugs that have been fixed
0 tickets closed that were reviewed but not worked on (triage)
1 Total

Short Detail

104:05 [perl #114536] Optimize assigning to scalars from @_
4:30 [perl #115332] fold_array overflow in regmatch

Shlomi Fish reported:

This report will be less formal and detailed than the other reports, because I have neglected to write the changes I did every day as I went.

I continued to refactor lib/ a€™s code, this time doing more random stuff of noticing code with code smells ( see ) and changing it. I also contacted Ricardo Signes (the current Perl pumpking) a few times about merging my branch into bleadperl (the main development perl branch), and he eventually found the time to do it, and most of my commits are now there.

Some new tests were added to fix regressions, and I also reported a bug, which Father Chrysostomos ( ) fixed, and I added an extra behavioural test report.

Otherwise, I have written today an E-mail to the perl5-porters mailing list asking for comments about closing this grant and declaring it a partial success. I cannot see it on right now, but it should appear there shortly. Note that I plan and hope to continue working on perl5db and other parts of the perl core, but believe that most of the work as part of the grant was done, within the assumed constraints.

Enrique Nell and Joaquin Ferrero reported:

Project status:

CPAN distribution:

Project host:

After a brief interlude, we have resumed our reporting activity. A careful analysis of our report date slip trend shows strong evidence that our final report might be ready at Christmas time.

During this month we updated to v5.16.2 and finally completed the translation of perlglossary.pod.

The members of the team fully agree on the translations used for most of the terms, but there are a few of them (the hard ones) that require further discussion and may entail future changes to this file (and propagating these changes to other files in POD2::ES).

The entries in the translated file are now sorted alphabetically by our post-processing script, but we still have to implement a proper way to handle entries that have several definitions corresponding to different Spanish words.

We also included back perlcheat.pod in our CPAN distribution.

New files added this month

  • perlglossary
  • perlcheat

Reported source pod bugs

  • [perl #115458] perlmodinstall.pod Missing closing parenthesis
  • [perl #115460] perlpod.pod Missing closing parenthesis
  • [ #80640] perldoc does not display function definitions with the same encoding used in perlfunc.pod
  • [ #80527] perldoc cannot find functions sections when is called with -L switch


Status of our v5.16 track (currently v5.16.2):

  • Total documents: 169 (107 in core docs)
  • Total words: 947,607 (453,544 in core docs)
  • % translated: 33.60% (63.33% of core docs)
  • % reviewed: 20.56%


Tools Readme

We have added a detailed Readme to the tools section of our github repository, describing the different scripts available, their usage, and the target audience.

Changes in

We have added a sort_glossary subroutine that gets called if the file name is perlglossary.pod to sort alphabetically the translated entries before applying other beauty treatments.

New scripts

We have added the code that updates the project tracking statistics spreadsheet based on the statistics provided by OmegaT.

Future work

  • Report yet more doc bugs
  • At least one of us is interested in automating the perlcheat.pod formatting process
  • Release the terminology extraction tool
  • Add documented procedures (in English) to the github wiki

2012Q4 Grant Proposals

This quarter the TPF Grants Committee didn't receive any proposal for grant funding. In the next quarter (starting January 2013) we'll be receiving grant proposals again.

Google Code-In

Once again we will be attempting to participate in the ""Google Code-In":http://": ( on behalf of the Perl Foundation with the support of the Perl Community.

As last year the principal organiser will be Paul Johnson accompanied by Florian Ragwitz, Wesley Johnson and Mark Keating.

We are looking for the whole community to help contribute towards the initiative by providing once more a few things.

1. We need you to head to the EPO Wiki ( and fill out suggestions of small tasks ( that can be completed by our prospective students. The rules for tasks have changed this year:

The programme will be limited to 10 mentoring organisations; there were 18 last year. There will be no monetary reward for students. Completing one task earns a certificate. Completing three earns a tee-shirt. Each organisation will select two students out of the five who completed the most tasks for that organisation to be grand prize winners. As before this prize will be a trip to the Google HQ. There will be no easy, medium and hard tasks; instead each task should take a student around three to four hours to complete. And there will be no translation tasks. The tasks will be in five categories:

Code: Tasks related to writing or refactoring code
Documentation/Training: Tasks related to creating/editing documents and helping others learn more
Outreach/Research: Tasks related to community management, outreach/marketing, or studying problems and recommending solutions
Quality Assurance: Tasks related to testing and ensuring code is of high quality.
User Interface: Tasks related to user experience research or user interface design and interaction
2. We will need you to sign up to mentor the students through their tasks. If you submit tasks it would be great if you could also choose to mentor them but this is not a requirement and don't consider it to be a hindrance to making suggestions. Sign up to be a mentor ( It is often a time consuming task, but it isn't thankless. This is a great opportunity to work remotely with young people keen to start in the world of IT.

As always we have an online presence not just via email but on irc and via various mailing lists and the wiki. We have valued all the previous contributions and look forward to a new slew of entries from the various community groups.

The time is tight and there are limited places this year so don't be idle and make sure you contribute early. There is no closing date for adding tasks as they can be added throughout the entire programme, however we wil need to show that there are a number of tasks already present and this must be done before the 12th November. Our application goes in on the 5th November and the organisations are announced on the 12th, this means we must have tasks between those dates. So don't delay.

Your help is, as always greatly needed and mightily appreciated.


About TPF

The Perl Foundation - supporting the Perl community since 2000. Find out more at

About this Archive

This page is an archive of entries from November 2012 listed from newest to oldest.

October 2012 is the previous archive.

December 2012 is the next archive.

Find recent content on the main index or look in the archives to find all content.


OpenID accepted here Learn more about OpenID
Powered by Movable Type 6.2.2