The Perl Journal December, 2004
The sixth maintenance release of Perl 5.8, mostly incorporating bug fixes and performance enhancements, is now available from CPAN. New functionality in the update includes better tolerance of UTF-16-encoded scripts; the ability to use nonIFS compatible LSPs on 32-bit Windows systems, allowing Perl to work in conjunction with some firewalls; and a new -dt command-line flag, which enables threads support in the debugger.
On the perl5-porters list, Rafael Garcia-Suarez sketched out a roadmap for Perl 5.10, which could arrive as early as next summer. Rafael identified seven central tasks left to complete. First is to finish assertions: "The current way to combine assertions is, in my opinion, ugly." Second is to integrate the lexical pragma patch submitted by Mark Jason Dominus and Autrijus Tang. The encoding::warnings module from CPAN will also be integrated; "make it lexical," Rafael noted. A replacement needs to be implemented for the deprecated my $x if 0; Rafael noted that "in perl 6 style, that would be state $x = "initial value". (Ooh, a new keyword.) Speaking of new keywords, state and err should be second-class keywords. At least. I bet state() is a common function name..." Lastly, Perl 5.10 will also serve as the Perl 5 core to ponie. For future-proofing purposes, Rafael suggested adding "a no ponie pragma, for hairy code that won't run under ponie."
Patrick R. Michaud has completed the first incarnation of the Parrot Grammar Engine. According to the README, "Basically, PGE consists of a parser and a PIR code generator written in C. The parser takes a string representing a [Perl 6] rule and builds a parse tree for the rule. The generator then produces a PIR subroutine (matching engine) that can match strings according to the components of the rule."
Other contributors quickly began to build on Patrick's work. Andy Dougherty contributed a patch to help PGE build more cleanly on OS X, and Jared Rhine helped to construct an initial testing framework. "I know there are lots of existing regular expression test suites out there," Patrick noted on the perl6-compiler list, "so if others could convert the relevant portions to work with the above framework, that'd be great." He also outlined a direction of future development: "My current plan is to implement cut and backreferences next, then some level of character class support (even if it's just \d, \D, \s, \S, \w, \W while we wait for Parrot strings to stabilize), and then subrules and lookarounds."
The latest versions of the Synopses and Apocalypses can now be found at http://dev.perl.org/perl6/synopsis/ and http://dev.perl.org/ perl6/apocalypse/, respectively; Larry says the older www.wall.org links are to be considered deprecated. But use this knowledge with care: "If everyone'd think *real* hard before actually submitting to [Slashdot] (and, hopefully, deciding not to) I'd appreciate it," Dan Sugalski requested on the perl6-compiler list. "I feel obligated to actually *read* the comments on parrot and perl 6 stories on Slashdot, at 0, so if I don't actually have to do so, well...so much the better usually."
Mark Fowler is once again marking the gift-giving season with a Perl Advent Calendar (http://perladvent.org/2004/). This holiday calendar, featuring an image of the legendary Three Wise Camels, bears 25 numbered boxes that each become clickable on their corresponding date in December. "Behind" each day is a window presenting a different CPAN module, with documentation and a tutorial. This is the fifth year Mark has continued the advent calendar tradition: "Not much has been added this year," he notes on the site. "The calendar's maturing, and all the features that I have time to add have been added. This year, I've tidied up the HTML, and got rid of most of the tables (it now uses divs for nearly all its layoutsuggestions on how to remove the last few tables would be great). Mainly this year, I've worked out that trying to do the advent calendar, while being really busy at work, while trying to help help organise a Perl conference, while trying to conduct the no small matter of planning a wedding, is very exhausting. More features next year maybe..."
It's been 10 years since the first public release of the Perl DBI, and Tim Bunce is looking toward the future. In a roadmap posted to CPAN (http://search.cpan.org/~timb/DBI/Roadmap.pod), he describes plans for new enhancements in "testing, performance, high availability and load balancing, batch statements, Unicode, database portability, and more. Addressing these issues together, in a coordinated way, will help ensure maximum future functionality with minimal disruptive (incompatible) upgrades."
Toward this end, The Perl Foundation has set up a DBI Development Fund at http://dbi.perl.org/donate/. A TPF Grant Manager will reward Tim from the fund as milestones are reached. Donations to the fund are tax deductable. "If your company has benefited from the DBI then this is an opportunity to both give back, by way of thanks, and help ensure greater benefits in the future," Tim explains. Alternatively, companies can choose to sponsor the development of specific new functionality. See http://groups-beta.google.com/group/perl.dbi.users/msg/caf189d7b404a003 for Tim's birthday announcement and call for support.