Get the highlights in your inbox every week.
Perl turns 30
Perl turns 30 and its community continues to thrive
Created for utility and known for its dedicated users, Perl has proven staying power. Here's a brief history of the language and a look at some top user groups.
Larry Wall released Perl 1.0 to the comp.sources.misc Usenet newsgroup on December 18, 1987. In the nearly 30 years since then, both the language and the community of enthusiasts that sprung up around it have grown and thrived—and they continue to do so, despite suggestions to the contrary!
Wall's fundamental assertion—there is more than one way to do it—continues to resonate with developers. Perl allows programmers to embody the three chief virtues of a programmer: laziness, impatience, and hubris. Perl was originally designed for utility, not beauty. Perl is a programming language for fixing things, for quick hacks, and for making complicated things possible partly through the power of community. This was a conscious decision on Larry Wall's part: In an interview in 1999, he posed the question, "When's the last time you used duct tape on a duct?"
A history lesson
Perl 1.0 - Perl 4.036Larry Wall developed the first Perl interpreter and language while working for System Development Corporation, later a part of Unisys. Early releases focused on the tools needed for the system engineering problems that he was trying to solve. Perl 2's release in 1988 made improvements on the regular expression engine. Perl 3, in 1989, added support for binary data streams. In March of 1991, Perl 4 was released, along with the first edition of Programming Perl, by Larry Wall and Randal L. Schwartz. Prior to Perl 4, the documentation for Perl had been maintained in a single document, but the O'Reilly-published "Camel Book," as it is called, continues to be the canonical reference for the Perl language. As Perl has changed over the years, Programming Perl has been updated, and it is now in its fourth edition.
Early Perl 5
Perl 5.000, released on October 17, 1994, was a nearly complete rewrite of the interpreter. New features included objects, references, lexical variables, and the use of external, reusable modules. This new modularity provides a tool for growing the language without modifying the underlying interpreter. Perl 5.004 introduced CGI.pm, which contributed to its use as an early scripting language for the internet. Many Perl-driven internet applications and sites still in use today emerged about this time, including IMDB, Craigslist, Bugzilla, and cPanel.
Modern Perl 5
Perl version 5.10 of Perl was released on the 20th anniversary of Perl 1.0: December 18, 2007. Version 5.10 marks the start of the "Modern Perl" movement. Modern Perl is a style of development that takes advantage of the newest language features, places a high importance on readable code, encourages testing, and relies heavily on the use of the CPAN ecosystem of contributed code. Development of Perl 5 continues along more modern lines, with attention in recent years to Unicode compatibility, JSON support, and other useful features for object-oriented coders.
On July 19, 2000, Larry Wall announced at the Perl Conference that he was interested in working on Perl 6, a redesign of the language, with the goal of removing historical warts from the language. Fifteen years later, in December of 2015, Perl 6 1.0 was released. Perl 6 is not backward-compatible with Perl 5, and although intended as a replacement, the Perl 6 team is in no great hurry for Perl 5 to be obsolete. "As for whether Perl 6 will replace Perl 5, yeah, probably, in about 40 years or so," Larry Wall said in an InfoWorld interview in 2015. There have been starts and stops with several implementations of Perl 6, but only one remains under active development: Rakudo Perl 6. Because Perl 6 is solely a specification (unlike all prior Perl), it is possible that many implementations could emerge. As the original design documents state, "Perl 6 is anything that passes the official test suite."
The Perl community
I have heard it said many times in the years I have been involved in the Perl community: Perl is about people. The people who create, maintain, support, and use Perl jointly create an environment where developers can learn and thrive, each working on the things that interest them.
Larry Wall, the man who started it all
At the center of it all, of course, is Larry Wall. Larry and his wife Gloria travel all over the world to Perl and other technical events. When I first joined the Perl community, there seemed to be a bit of hero worship going on around him, but Larry does not particularly enjoy that aspect of his notoriety. He's a kind, soft-spoken, brilliant man who enjoys coding and the community that has developed around his work. These days you'll usually see him wearing a broad-brimmed hat and bold print shirts; he's hard to miss even in a crowd as eclectic as the Perl community.
The son and grandson of pastors, Larry is himself a Christian. That heritage of ideas informs some of his work and advocacy on Perl, including the "idea that other people are important." He and his wife both attended graduate school in linguistics at Berkeley and UCLA and were planning to become missionaries, but they were forced to give up that dream for health reasons. Wall said in a 1999 Linux Journal interview, "Funny thing is, now the missionaries probably get more good out of Perl than they'd have gotten out of me as a missionary. Go figure."
I was privileged to moderate a Q&A session featuring Larry at YAPC::NA 2016, in Orlando, Florida, and got to spend time with him and Gloria. After that meeting, I am honored to call them both my friends. If you ever get a chance to spend time talking to this amazing couple, do so; your life will be enriched by the experience.
Perl 5 Porters
In May of 1994, the Perl 5 Porters email list was founded as a place to coordinate work on porting Perl 5 to different platforms. P5P, as it is now known, is the primary mailing list for discussion about maintenance and development of the standard distributions of Perl. A number of the "porters" are active on IRC as well. The current overseer of this process is called the "Pumpking" or the "Holder of the Pumpkin." The current Pumpking is Sawyer X, who is also involved in the Dancer project, which I wrote about a couple of years ago on Opensource.com. P5P discussions can be energetic at times; there are a lot of talented people in there, many of whom have strong opinions. If you're looking for knowledge about the core workings of Perl, though, P5P is where that magic is wrought.
In 1997, a group of Perl enthusiasts from the New York City area met at the first O'Reilly Perl Conference (which later became OSCON), and formed the New York Perl Mongers, or NY.pm. The ".pm" suffix for Perl Mongers groups is a play on the fact that shared-code Perl files are suffixed .pm, for "Perl module." The Perl Mongers organization has, for the past 20 years, provided a framework for the foundation and nurturing of local user groups all over the world and currently boasts of 250 Perl monger groups. Individual groups, or groups working as a team, sponsor and host conferences, hackathons, and workshops from time to time, as well as local meetings for technical and social discussions.
PerlMonksHave a question? Want to read the wisdom of some of the gurus of Perl? Check out PerlMonks. You'll find numerous tutorials, a venue to ask questions and get answers from the community, along with lighthearted bits about Perl and the Perl community. The software that drives PerlMonks is getting a little long in the tooth, but the community continues to thrive, with new posts daily and a humorous take on the religious fervor that developers express about their favorite languages. As you participate, you gain points and levels. The Meditations contains discussions about Perl, hacker culture, or other related things; some include suggestions and ideas for new features.
Perl, like many other languages, is modular; new capabilities can be created and installed without having to update the core interpreter. The Comprehensive Perl Archive Network, founded in 1993 and online since October 1995, was created to help unify the assortment of scattered archives of Perl modules. The repository is mirrored on more than 250 servers around the world, and it currently contains almost 200,000 modules from over 13,000 authors. New releases of module distributions are uploaded daily. One of CPAN's interesting artifacts is the Acme:: namespace. Acme:: is the area of CPAN reserved for experiments, entertaining-but-useless modules, frivolous, or trivial ideas. An article on Opensource.com from 2016 looked at a few of these modules just for fun. You can search the CPAN at MetaCPAN for anything you might need.
The Perl Foundation
In 1999, Kevin Lenzo founded the "Yet Another Society," which has become known as The Perl Foundation. The original intent was to assist in grassroots efforts for events in the North American Perl Conferences, including banking and organizational needs. The focus has since shifted, and TPF now offers grants for extending and improving both Perl 5 and Perl 6. The Perl Foundation also awards the White Camel, in recognition of significant non-code contributions to the Perl community.
YAPC Europe Foundation
The YEF was formed in 2003 to help grow the European Perl community, primarily through public events. The YEF supports local Perl Mongers groups in efforts to sponsor conferences through providing online payment and registration system and kickstart donations. Their efforts support frequent workshops and hackathons in Europe, as well as the annual Perl Conference.
Japan Perl Association
The Japan Perl Association helps promote Perl technology and culture in Asia through advocacy and sponsorship of the annual YAPC::Asia conference, frequently the world's largest conference on Perl. For many years, the conference was held in Tokyo, but it has recently started moving to other locations in Japan.
Enlightened Perl Organisation
Working in parallel with The Perl Foundation, the Enlightened Perl Organisation works to support Perl projects that help Perl remain an enterprise-grade platform for development. EPO focuses its attention on code, toolchain elements, documentation, promotional materials, and tutorials that make corporate adoption of Perl easier. In addition to sponsorship of the London Perl Workshop and the Strawberry Perl initiative, the Enlightened Perl Organisation has provided substantial funding for the CPAN Testers. The Testers are a group of developers who test CPAN modules against many versions of Perl, on numerous OS platforms. The EPO also sponsors a Send-A-Newbie program, providing funding for first-time attendees to Perl conferences.
YAPC and the Perl Conferences
The first O'Reilly Perl Conference was held in 1997. In 1999, O'Reilly added additional open source content to the program, and that conference became known as OSCON. The first Yet Another Perl Conference was held in June of that year, in Pittsburgh, and has been held in North America every year since. Additional similar conferences were organized in Europe starting in 2000, in Israel since 2003, in Australia since 2004, in Asia and Brazil since 2005, and in Russia since 2008.
The name "The Perl Conference" is owned by O'Reilly, but in 2016, it was announced that an agreement had been reached to allow use of the name for the YAPC conferences, beginning with the 2017 conferences. At each conference, speakers present on Perl and other development-related topics, and there are usually educational workshops before or after the conference. The North American and European conferences generally include 300-400 attendees. The conferences usually have content for both new Perl developers and substantial opportunities for core developers and other community members to interact and collaborate as well as present on their own work.
A tried-and-true technology...and so much more
As Perl turns 30, the community that emerged around Larry Wall's solution to sticky system administration problems continues to grow and thrive. New developers enter the community all the time, and substantial new work is being done to modernize the language and keep it useful for solving a new generation of problems. Interested? Find your local Perl Mongers group, or join us online, or attend a Perl Conference near you!