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. (I think I'm the user with the oldest currently active account.)

Most of my current writing exists on Modern Perl Books, though I maintain a few Perl whitepapers elsewhere.

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 - present

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 - present

As editor of, my duty is 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.


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 where I think Rakudo went wrong and 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.

As you can see, I no longer work on Perl 6. I think Rakudo is going in the wrong direction and expect that there will be no release of Perl 6 suitable for everyday use by regular developers in the foreseeable future.