Perl 5: December 2007 Archives

Here's a collection of articles about the release of Perl 5.10.

First, since I'm still wearing the PR hat for the Perl Foundation, I mailed off notifications to many different big news sources. Both Dr. Dobbs Journal and Infoworld published articles about the release. Alas, the Infoworld article has some inaccuracies, but I'm glad to have Perl's name on such a widely-read site.

macnn, a big Mac news site, has good coverage of ActivePerl's release of both Perl 5.10 and ActiveTcl.

Kai 'Oswald' Seidler at apachefriends.org declares "we didn't update Perl because the new 5.10.0 seems to be a development version, and in XAMPP we only support 'stable' versions." Apparently XAMPP is an all-in-one bundle of web tools that you can slap onto your machine. If anyone has more info on Seidler's perceptions of 5.10 as being a development version, which it most certainly isn't, I'd be interested.

LinuxDevices.com has a nice write-up and summary. I wonder how many Linux devices Perl lives in.

HiveMinds Magazine mentions Perl 5.10, and then asks about Perl 6. "I just wish someone would write some insider info on Perl 6 before the new year," says author ahamilton. Hey, I'm working on it. (Also interesting that it's HiveMinds magazine, similar to Hiveminder, a web application run by Jesse Vincent, the Perl 6 project manager.)

The announcement at osnews.com spawned a 20+ message thread about Perl's continued relevance and where Perl 6 is. Thanks to Juerd for fighting some FUD.

That's the roundup of Perl 5.10 postings that I've seen so far. One downside of releasing Perl 5.10 a week before Christmas is that people are interested in other things than talking about programming. I'm hoping news outlets notice the articles I've sent after the holiday break. Please let me know about other Perl 5.10 postings you may find.

Adam Kennedy has released his Strawberry Perl for Perl 5.10.0. Strawberry Perl is the Windows Perl distribution that's an alternative to ActiveState's distribution, and it includes tools for building CPAN modules natively, so you're not tied to ActiveState's PPM repository, which may not include the module you want to install, or may be behind a few versions.

Today the Perl Foundation announces the release of Perl 5.10, the first major upgrade to the wildly popular dynamic programming language in over five years. This latest version builds on the successful 5.8.x series by adding powerful new language features and improving the Perl interpreter itself. The Perl development team, called the Perl Porters, has taken features and inspiration from the ambitious Perl 6 project, as well as from chiefly academic languages and blended them with Perl's pragmatic view to practicality and usefulness.

Significant new language features

The most exciting change is the new smart match operator. It implements a new kind of comparison, the specifics of which are contextual based on the inputs to the operator. For example, to find if scalar $needle is in array @haystack, simply use the new ~~ operator:

  if ( $needle ~~ @haystack ) ...

The result is that all comparisons now just Do The Right Thing, a hallmark of Perl programming. Building on the smart-match operator, Perl finally gets a switch statement, and it goes far beyond the kind of traditional switch statement found in languages like C, C++ and Java.

Regular expressions are now far more powerful. Programmers can now use named captures in regular expressions, rather than counting parentheses for positional captures. Perl 5.10 also supports recursive patterns, making many useful constructs, especially in parsing, now possible. Even with these new features, the regular expression engine has been tweaked, tuned and sped up in many cases.

Other improvements include state variables that allow variables to persist between calls to subroutines; user defined pragmata that allow users to write modules to influence the way Perl behaves; a defined-or operator; field hashes for inside-out objects and better error messages.

Interpreter improvements

It's not just language changes. The Perl interpreter itself is faster with a smaller memory footprint, and has several UTF-8 and threading improvements. The Perl installation is now relocatable, a blessing for systems administrators and operating system packagers. The source code is more portable, and of course many small bugs have been fixed along the way. It all adds up to the best Perl yet.

For a list of all changes in Perl 5.10, see Perl 5.10's perldelta document included with the source distribution. For a gentler introduction of just the high points, the slides for Ricardo Signes' Perl 5.10 For People Who Aren't Totally Insane talk are well worth reading.

Don't think that the Perl Porters are resting on their laurels. As Rafael Garcia-Suarez, the release manager for Perl 5.10, said: "I would like to thank every one of the Perl Porters for their efforts. I hope we'll all be proud of what Perl is becoming, and ready to get back to the keyboard for 5.12."

Where to get Perl

Perl is a standard feature in almost every operating system today except Windows. Users who don't want to wait for their operating system vendor to release a package can dig into Perl 5.10 by downloading it from CPAN, the Comprehensive Perl Archive Network, at http://search.cpan.org/dist/perl/, or from the Perl home page at www.perl.org.

Windows users can also take advantage of the power of Perl by compiling a source distribution from CPAN, or downloading one of two easily installed binary distributions. Strawberry Perl is a community-built binary distribution for Windows, and ActiveState's distribution is free but commercially-maintained.

Editor's notes

For questions, contact Perl Foundation Public Relations at pr@perlfoundation.org.

Perl:
perl.org
Perl is a dynamic programming language created by Larry Wall and first released in 1987. Perl borrows features from a variety of other languages including C, shell scripting (sh), AWK, sed and Lisp. It is distributed with practically every version of Unix available and runs on a huge number of platforms, as diverse as Windows, Mac OS X, Solaris, z/OS, os400, QNX and Symbian.

Rafael Garcia-Suarez
email: rgarciasuarez@gmail.com
Rafael Garcia-Suarez is a French software engineer who lives in Paris, France, and who is currently employed by Booking.com. He has been a contributor to Perl for many years and has stewarded the birth of Perl 5.10 for the last few.

The Perl Foundation
perlfoundation.org
The Perl Foundation is dedicated to the advancement of the Perl programming language through open discussion, collaboration, design, and code. It is a non-profit, 501(c)(3) organization incorporated in Holland, Michigan, USA in 2000.

This is a copy of the official announcement about Perl 5.10.

ActiveState already has their Perl for Windows available for binary download. I'm sure Strawberry Perl won't be far behind.

Perl 5.10 is now available from CPAN, and Parrot 0.5.1 will be available soon. Details in forthcoming article.

Mac OS X Leopard's Perl builds 32-bit Universal binaries by default, which may cause conflicts on 64-bit Macs with 64-bit apps like Apache 2.0. This article on Ars Technica gives the details, and the ARCHFLAGS fix.

About this Archive

This page is a archive of entries in the Perl 5 category from December 2007.

Perl 5: November 2007 is the previous archive.

Perl 5: January 2008 is the next archive.

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

Other Perl Sites

Other Swell Blogs

  • geek2geek: An ongoing analysis of how geeks communicate, how we fail and how to fix it.
Technorati Profile