What's new with Perl 5.6

Many great things are underway for Perl. Perl 5.6 will be coming out before the end of the year, which marks the abandonment of the version numbering scheme that has been around for years. The release should be available to the public before the end of 1999.

At last month's Perl Conference in Monterey, CA, Gurusamy Sarathy let everyone in on the news, telling the unwashed masses who aren't necessarily on the Perl-porters list what new stuff is to be expected from the next release version of Perl.

One of the neatest (and, at least at my job, one of the most talked-about) features in Perl 5.6 is the ability to find nested parenthetical-style expressions recursively. This is useful for parsing source code, which quite often uses braces such as {} to separate code blocks; it's even more useful for parsing HTML efficiently (and, more to the point, properly). Unicode support in 5.6 is another key feature. Despite Larry Wall's use of Unicode in last year's second State of the Onion talk, Unicode support in Perl has not thus far been close to what people had hoped it would be. Hopefully, this will improve in 5.6.

Another very key feature in 5.6 is improved granularity with regard to lexical warnings. In the current version of Perl, you either get warnings or you don't. Sarathy indicated that, with Perl 5.6, warnings will be enablable by type, so that you could watch for certain types of warnings, but never see other types. Perhaps I can finally get rid of the "variable only used once" error when using the package for reading command-line switches!

Another major improvement comes in the Perl compiler. In previous versions, the compiler was not, shall we say, quite up to snuff -- if you could get it to work at all. While no promises of perfection were made, the compiler to be included in 5.6 was touted as a significant improvement over the compiler included in the 5.005_x series of releases.

Threads support in Perl 5.6 will be much improved as well, allowing users to write software applications using thread-safe code. This should improve scalability and performance. Although not yet guaranteed, it has been mentioned that the 5.6 release may introduce zip packaging and the ability to create an event loop. The event-loop feature is very similar to that found in Tcl and such. Zip packaging would allow distribution of compressed installables, similar to the way that Java programs are often distributed in binary form.

Town Meeting

At the end of the O'Reilly Open Source Software Convention came another fine Perl Conference tradition, that of the town meeting. Hosted by Larry Wall, Gurusamy Sarathy, Tim O'Reilly, and Chip Salzenburg, the Perl Town Meeting is just like any other gathering of this sort that one might encounter. It's an opportunity for the users of Perl to speak up and say what's on their mind. It's a place to say where we think we're going astray, to indicate where we think we ought to be going -- and, on occasion, to simply thank Larry Wall for having created Perl in the first place.

This year, several concerns were echoed by many of the people who came to the microphones. The first of these is the legitimacy of Perl; this went hand in hand with the concept of Perl certification. Many people have complained that their management doesn't recognize Perl as a useful language, or that finding qualified Perl programmers is hard because the language lacks a certification process. This lack of certification follows from a philosophical disagreement many Perl programmers have with certification in general. Many believe that certification is fairly useless, and that it isn't a good judge of a programmer's ability. However, there is also the recognition that the pointy haired bosses (of Dilbert fame) of the world feel that, if you can receive certification in a language, that language is legitimate. The panel expressed mixed feelings on the issue, and invited people to try to come up with a solution.

Another issue raised was that of reducing the overhead of Perl. This particularly struck a chord with those who want to use Perl in embedded systems. To many people, Perl seems a perfect language for fine control in many embedded systems; porting Perl to embedded systems platforms would enable better control of those systems, as well as offer a legitimacy to Perl within the corporate world (emphasizing, again, the issues described above). However, Perl has overhead requirements in terms of memory and the like that are prohibitive for the small and underpowered devices that make up the bulk of the embedded systems market. Chip Salzenburg, who is currently working on Topaz (the next-generation Perl), made a note of the embedded systems concern during the meeting, so hopefully it will become a part of future Perl releases (although certainly it won't be a part of 5.6, which is due out very soon).

And that, I think, is one of the best things about Perl. Unlike other languages, which are formed by standards bodies or by faceless corporations, the creators of Perl stay in touch with their user base on a personal level. This enables Perl as a language to proactively solve problems, instead of being reactive to the environment. The designers keeping the Perl community abreast of the changes, and giving us say in what happens next, is part of what makes Perl a very special, and very useful, language.

Join the newsletter!

Error: Please check your email address.

More about ReillyUnicode

Show Comments

Market Place