chromatic's Perl work

I've used Perl since 1998. In that time, I've done more things than I can remember. You can, of course, see the striations of history in my CPAN directory as well as in my Github repository, but that's not everything.

I've written copiously about Perl since 2000 or so, and I was the second public user of the PerlMonks website, though I am no longer active there.

My most current Perl writing exists on Modern Perl Books, though that site has been on hiatus for a while.

Modern Perl

February 2009 - present

The book Modern Perl and website Modern Perl Books track what some people refer to as the "Perl Renaissance" or "Perl Enlightenment", where we seek to take advantage of the strengths of the language and the community and use our experience to improve the way we write software.

The CPAN module Modern::Perl offers a complementary opinion.

Perl 5 core

September 2001 - 2012

I have contributed several patches to the Perl 5 language. Many of them were tests for core libraries in the Perl 5.8.0 period. Several of them have been improvements to core documentation. I was responsible for a couple of features, including the "..." operator and UNIVERSAL::DOES. I have fixed a few bugs.

September 2003 - January 2009, May 2011 - February 2014

As editor of, my duty was to solicit, edit, and publish articles that show off the use of Perl as a language, tool, and component of a vibrant community. In particular, the focus of the site has changed to include an evangelism component to show off the best way to write effective Perl in the 21st century.

When transferred to the Perl Foundation in early 2011, my responsibilities included the revenue model of the site. Since that time, has made a modest profit every month.

I voluntarily resigned from this editing in early 2014.


August 2001

I was there at the start of the Perl Testing Revolution. In fact, I created Test::Builder by extracting and unifying common pieces of Test::Simple and Test::More. Test::Builder has been one of the foci of testing in Perl since its inception.

If you search the CPAN for modules in the Test:: namespace, you'll find hundreds of results.

They work together because of Test::Builder.

Parrot Virtual Machine

September 2001 - January 2011

In my time as a lead developer of the Parrot virtual machine, project, I contributed to almost every part of the system with code, documentation, design, and tests. In particular, my efforts focused on finding and fixing memory leaks and finding and implementing optimizations from the language level to the core of the VM. For every source file in Parrot, there was a decent chance I fixed a bug in it and a very good chance I read every line.

I stopped working on Parrot when I stopped working on Perl 6. Goodnight, Parrot explains why the whole mess stopped being fun.

It was enjoyable for most of the time, but if you're looking for a language virtual machine or runtime for serious work, look elsewhere.

Perl 6

January 2003 - January 2011

As the Perl 6 project secretary, I attended and kept notes from design meetings during this period. I contributed most heavily to the design of the Perl 6 object system as expressed in Apocalypse 12, with the most input on what is now known as roles.

You can see the influence of the Perl 6 object system in Moose. Yes, I have some code in Moose.

I also spent time on the Rakudo implementation of Perl 6, though most of my work there was bugfixes and optimizations for the language's interactions with the Parrot virtual machine.

I decided to stop participating in Perl 6 and Parrot in early 2011 and have neither plans nor desire to use Perl 6.