A few weeks ago was the Perl QA Hackathon in wonderful Berlin, Germany.

I attended like I have for the last 3 years, as I love to get a chance to hang out in person with many of the people I see online daily, and I get a huge boost of motivation surrounding the event. It's also a great time to catch up on things that have been put off for one reason or another.

This year I planned to get Devel::PatchPerl working for a few much older versions of Perl. Devel::PatchPerl's purpose is to patch unpacked tarballs of the perl source tree so that older perls continue to compile as compilers and libraries change over time. This is useful for module maintainers who want to continue to support older perls for various reasons.

In my testing, I could compile perl all the way back to perl-5.6.0, but not beyond that, and I need to go back to at least 5.003.

Sadly, my first day of the hackathon concluded with many false starts, but by the second day I was able to provide patches that allowed building 5.5.0 through 5.5.4 (which is harder than it sounds!). I'll keep digging as I have time though to get Devel::PatchPerl building back to 5.003.

The only other accomplishment for me this year was adding support to the perl5's bisect runner to test modules from CPAN. This allows us to determine when, in perl5's development, a change was added that broke a particular module (or set of modules.) This also allows us to bisect pieces of Perl code that break between versions, but couldn't be easily reduced to not using external modules.

I'm pretty happy with this as previously most or all bisecting of cpan breakages fell on Andreas Koenig's shoulders, and I'm hoping this will help relieve some of his burden. (Thanks to Andreas for providing me with his implementation, which is the basis for mine.)

The new functionality is not yet in blead, but I expect to tweak and merge it after the code freeze when 5.22 comes out (soon!)

A significant portion of the rest of my time was spent attending the various discussions, and I'm glad to have participated, even though I mostly just listened.

I'm sad it's over, but I had a most excellent time. Thank you Tina Müller for organizing, and as always, thank you Liz and Wendy for helping out!

I'd also like to thank our sponsors, who made this all possible:

thinkproject!

amazon Development Center

STRATO AG

Booking.com

AffinityLive

Travis CI

Bluehost

GFU Cyrus AG

Evozon

infinity interactive

Neo4j

Frankfurt Perl Mongers

Perl 6 Community

Les Mongueurs de Perl

YAPC Europe Foundation

Perl Weekly

elasticsearch

LiquidWeb

DreamHost

qp procura

mongoDB

Campus Explorer

Ron Savage

Christopher Tijerina

Andrew Solomon

Jens Gassmann

Marc Allen

Michael LaGrasta

I appreciate your generousity!

And a special thanks to my employer, Infinity Interactive, for letting me attend on such short notice :)

-- Matthew Horsfall (alh)

