Here is a list of my main Perl projects. Modules mentioned below are also available from any CPAN archive in addition to the home site used in the hot links below.
I've written an extension module which provides Perl access to Mark Crispin's c-client library, as used by pine and the University of Washington imap daemon. It provides access to many different formats of mail folders, including using IMAP to access folders held on remote hosts. The latest distribution is MailCclient 0.5 and is now fairly complete and fairly well documented. Here is README.MailCclient. The module, one of the foundations of WING mentioned above, has now been in use for 9 months on our heavily used central mail server and has proved to be solid.
I was "Patch Pumpkin" holder for the majority of 5.005 development, a term which means that, within the perl5-porters group which develops Perl, I had the responsibility for the development, integration and release of version 5.005. Towards the end of development, I had to step down because of time pressures caused by family problems and Gurusamy Sarathy took over and completed the release cycle admirably.
The major new features of Perl version 5.005 are
The latest maintenance and development releases of Perl 5.005 are available from any CPAN archive.
The compiler kit and my multi-threading patches were merged and integrated into Perl as a part of the 5.005 development cycle. They are no longer available separately. The goal (successfully reached) was to ease further development since before the merge, I was spending most of my time merging other changes to Perl back into my own development tree. As of 5.005, the compiler modules are available by default and multi-threading can be configured at compile-time but they are most definitely not suitable for production use. Work on both has continued (picked up by other developers, I'm glad to say, due to my absence) during the next Perl development cycle. The latest development versions of Perl (those revisions numbering from 5.005_50) include many fixes for both compiling and multi-threading but it should be noted that these are still development versions of Perl and so they cannot be claimed to be production quality.
This is an Apache/mod_perl PerlAuthHandler module to allow web hierarchies to be username/password authenticated against any IMAP server. The current version is 0.1 (i.e. a preliminary and only lightly tested version). There's no README or Makefile.PL, just the .pm file itself (with pod documentation in it, of course) which needs to be copied to the Apache directory where all your other mod_perl Apache .pm modules live. Here is AuthenIMAP.pm.
The Safe extension allows the creation of compartments in which perl code can be evaluated in a restricted environment. Each compartment has a separate escape-free namespace (except for objects explicitly chosen to be shared by the main program) and a mask for disallowing chosen perl operators. The Safe extension has been part of the main perl distribution since perl version 5.002 and there is also a module called Opcode (by Tim Bunce) which provides a more high level API for the underlying Safe module.
The Tcl extension provides a small but complete interface into libtcl and any other Tcl-based library. It lets you create Tcl interpreters (as perl5 objects), bind in commands to them (either perl subroutines or C functions dynamically loaded with the DynaLoader extension) and execute Tcl code in those interpreters. The latest version is Tcl-b1. I haven't touched this module for years and it probably doesn't build with recent versions of Tcl but it's fairly simple so it shouldn't be too hard for someone to resurrect if they wanted to.
The Tcl::Tk extension is an add-on extension for the above Tcl extension which provides access to libtk via Tcl syntax. This is useful for running legacy Tcl/Tk code from a perl program but for new perl programs, Perl's native Tk extension is better in almost all situations. The latest version is TclTk-b1. I haven't touched this module for years and it probably doesn't build with recent versions of Tk but it's fairly simple so it shouldn't be too hard for someone to resurrect if they wanted to.
The Mmap extension lets you mmap in a file as a Perl
variable on platforms that support BSD or POSIX.1b
mmap. It is primarily useful for mapping in
large files into your address space as read-only. You can
map a file read-write if you are very careful
only to ever update the variable in place.
The latest version is
Mmap-a2.
safecgiperl is intended to be installed on a World Wide Web server and allows CGI programs written in Perl5 to be run in a sanitised environment. It makes use of the Safe extension module for Perl5--any attempted unsafe operation in the CGI program is trapped and causes a fatal compile-time error. The latest safecgiperl version is beta1. This program (slightly tweaked for the specific local environment here) has been in heavy use for about four years and has proved to be solid and reliable.