Perl News

Jon Orwant

Perl 5.005 is on the horizon. It will have in-core support for Win32 and probably MacPerl as well, in an attempt to have the same exact version running on different platforms. Support for threads will be available. I'm guessing that Perl 5.005 will be released in late 1998.

The 1998 O'Reilly Perl Conference will take place August 17 through 20 at the Fairmont Hotel in San Jose, California. Details will be available on in the coming months.

The first Perl User's Group has formed: the New York Perl Mongers, dedicated to Perl advocacy, education, and training as well as building the social community of Perl users. For details, visit

Tom Spindler ported Perl to BeOS; see CPAN/ports/beos for a specially-tailored distribution of Perl 5.004.

There are newly-updated ports of Perl 5.004 for DOS in CPAN/ports/msdos. You have three choices: Laszlo Molnar's DJGPP-based binary distribution (, Ilya Zakharevich's OS/2 port (which works on DOS), or the all-inclusive, by an anonymous author who isn't very good at Robotron.

The Perl/Tk Reference Guide, by TPJ's own Steve Lidie, describes almost every Perl/Tk widget, command, and variable. It's available on the CPAN in CPAN/authors/id/LUSOL. Dominique Dumont released the Tk::Multi module, which manages multiple Tk text widgets, and Tk::ObjScanner, which displays object attributes. Graham Barr uploaded the Tk-GBARR bundle, which includes Tk::Cloth (an object-oriented interface to Tk::Canvas), Tk::Pane (a widget panner), Tk::TFrame (frames with titles), Tk::ProgressBar (a widget that shows completion status), and Tk::NumEntry (an entry widget that accepts numbers with increment/decrement buttons).

Logos Research Systems offers a free GUI debugger for Win32 Perl at

An archive of the perl5-porters mailing list can be found at, courtesy of Achim Bohnet.

The Velocity Engine for Perl, by Binary Evolution, embeds a persistent Perl in the Netscape and Microsoft web servers. It lets you use <perl> tags to include executable code in HTML, and has hooks for database access with DBI and on-the-fly GIF generation with GD. See for details. Benjamin Sugars is developing a module, Netscape::Server, that embeds a Perl interpreter in a Netscape web server so that you can program to the Netscape API.

ActiveState announced PerlEX, a set of server-side plugins for ISAPI, NSAPI, and WSAPI that enables Windows NT web servers from Microsoft, Netscape, and O'Reilly to execute Perl scripts much faster. Scripts are precompiled, just like mod_perl. It's available from

TipTop Software's WOPerl lets you manipulate NeXT's WebObjects with Perl. It's based on Objective Perl, which is a version of Perl with Objective C's object model. You can download it from

Jason Costomiris' CGI::MozSniff module parses the $ENV{HTTP_USER_AGENT} variable to report which browser is really hitting your pages, since they all seem to say "Mozilla" these days.

Brian Foy's Chemistry::Elements module lets you treat chemical elements as objects, providing access to names, symbols, and proton numbers.

John Nolan created Chatbot::Eliza, encapsulating the good old Eliza algorithm (an early-AI very bad psychiatrist) in a Perl object. "Why do you say that you hack Perl?"

Norm Walsh's Text::DelimMatch lets you find strings bounded by delimiters of your choosing. You can use it to match nested text, too.

MailMan is a web/mail gateway by Ryan Alyn Porter. It can send and receive mail via any POP3 mailbox and SMTP server, and is available from

Version 3.04 of Mike Heins' MiniVend web shopping cart program (with SQL support) is available at CPAN/authors/id/MIKEH.

Dan Sugalski's VMS::System and VMS::Process modules provide information about processes on the VMS operating system.

Version 2.1 of the Statistics::Descriptive module has been released by Colin Kuskie. It now has separate implementations for sparse and full data sets.

A new version of the Ingres DBD module has been uploaded by Henrik Tougaard.

Honza Pazdziora released version 0.03 of the XBase DBD, which lets you read and write .dbf and .dbt files.

Joshua Pritikin has developed Envy, a shell-independent solution for environment-variable management. Joshua also released LinkTree, which creates trees of symbolic links (sometimes known as shadow directories). He also uploaded HTML::PHTML, a "Perl Embedded HTML" page cache, useful if you're already using FastCGI or mod_perl. His Maker module, available as CPAN/modules/authors/id/JPRIT/Maker, is a replacement for Make, which means it has to compete with Nick Ing-Simmons Make module and Bob Sidebotham's Cons, in CPAN/modules/authors/id/BOBSIDE.

The OLE::Storage module, by Martin Schwartz, lets you access the binary data format of Microsoft's OLE documents from the operating system of your choice.

Convert::Translit, by Genji Schmeder, transliterates strings between any of the 8-bit character sets defined in RFC 1345. Meanwhile, Gisle Aas released Convert::Recode, a front end to the GNU recode program, which builds tr/// expressions to perform the conversions. It converts EBCDIC to ASCII, as does Chris Leach's Convert::EBCDIC.

The Devel::DebugInit module, by Jason E. Stewart, provides an automated way to create debugger initialization files for GDB, the Gnu Debugger. You'll need the C::Scan and Data::Flow modules.

The X11::Wcl module, by Joseph Buehler, provides an interface to the Widget Creation Library for the X Window System, allowing rapid prototyping of GUI interfaces.

Mark Kvale released specPerl 1.0, a GUI builder that outputs Perl/Tk code. It requires specTcl; both can be downloaded from

Many people don't realize that when you glob() a file pattern in Perl (say, to find out which files match read*.txt in a particular directory) a shell process is often launched. Marc Mengel's FastGlob module, available from CPAN/authors/id/MENGEL, provides a glob that never requires a shell.

Randy Ray released Devel::Coverage, which shows you what parts of your code were and weren't reached. That's not the same as profiling your code; if that's what you want to do, use Dean Roehrich's Devel::DProf module or Ted Ashton's Devel::SmallProf.

New modules should be cleared with the mailing list before uploading to the CPAN. We don't review the code so much as ensure that new modules have appropriate names. Information about modules and other Perl news should be sent to

The Comprehensive Perl Archive Network (CPAN).

_ _END_ _

Jon Orwant is the editor and publisher of The Perl Journal and a doctoral candidate at the MIT Media Lab.