home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.pasteur.org/FAQ/
/
ftp-pasteur-org-FAQ.zip
/
FAQ
/
perl-faq
/
module-list
< prev
next >
Wrap
Text File
|
1998-08-16
|
142KB
|
3,032 lines
Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.kodak.com!news-nysernet-16.sprintlink.net!206.229.87.26!news-east.sprintlink.net!news-peer.sprintlink.net!news-backup-east.sprintlink.net!news.sprintlink.net!195.173.173.151!woodstock.news.demon.net!demon!newshub.northeast.verio.net!fu-berlin.de!zrz.TU-Berlin.DE!franz.ww.TU-Berlin.DE!koenig
From: andreas.koenig@franz.ww.tu-berlin.de (Andreas Koenig)
Newsgroups: comp.lang.perl.modules,comp.answers,news.answers
Subject: comp.lang.perl.modules The Perl 5 Module List (Reusable Software)
Supersedes: <perl-faq/module-list-1-898869628@ww.tu-berlin.de>
Followup-To: comp.lang.perl.modules
Date: 15 Aug 1998 12:43:03 GMT
Organization: Technical University Berlin, Germany
Approved: news-answers-request@MIT.EDU
Distribution: world
Expires: 09/19/98 14:42:22
Message-ID: <perl-faq/module-list-1-903184942@ww.tu-berlin.de>
Reply-To: andreas.koenig@franz.ww.tu-berlin.de (Andreas Koenig)
NNTP-Posting-Host: franz.ww.tu-berlin.de
Keywords: FAQ, Perl, Module, Software, Reuse, Development, Free
Originator: koenig@franz.ww.TU-Berlin.DE
Lines: 3012
Xref: senator-bedfellow.mit.edu comp.lang.perl.modules:12420 comp.answers:32611 news.answers:137523
Archive-name: perl-faq/module-list
Revision: 2.49
Posting-Frequency: bi-weekly
URL: http://www.perl.com/CPAN/modules/00modlist.long.html
The Perl 5 Module List Revision: 2.49 $Date: 1998/08/15 08:53:26 $
======================
Maintained by Tim Bunce and Andreas K÷nig <modules@perl.org>
Contents
Introduction
Where Are The Modules Kept?
Playing Your Part
How To Get a More Recent Copy of the List
Editorial Information and Copyright
Part 1 - Modules: Creation, Use and Abuse
1) Perl 5 Module Terminology
2) Guidelines for Module Creation
3) Guidelines for Converting Perl 4 Library Scripts into Modules
4) Guidelines for Reusing Application Code
Part 2 - The Perl 5 Module List
1) Module Listing Format
2) Perl Core Modules, Perl Language Extensions and Documentation Tools
3) Development Support
4) Operating System Interfaces, Hardware Drivers
5) Networking, Device Control (modems) and InterProcess Communication
6) Data Types and Data Type Utilities
7) Database Interfaces
8) User Interfaces
9) Interfaces to or Emulations of Other Programming Languages
10) File Names, File Systems and File Locking (see also File Handles)
11) String Processing, Language Text Processing, Parsing and Searching
12) Option, Argument, Parameter and Configuration File Processing
13) Internationalization and Locale
14) Authentication, Security and Encryption
15) World Wide Web, HTML, HTTP, CGI, MIME
16) Server and Daemon Utilities
17) Archiving, Compression and Conversion
18) Images, Pixmap and Bitmap Manipulation, Drawing and Graphing
19) Mail and Usenet News
20) Control Flow Utilities (callbacks and exceptions etc)
21) File Handle, Directory Handle and Input/Output Stream Utilities
22) Microsoft Windows Modules
23) Miscellaneous Modules
24) Interface Modules to Commercial Software
Part 3 - Big Projects Registry
1) Items in the Todo File
2) Multi-threading
3) Object Management Group CORBA & IDL
4) Expand Tied Array Interface
5) Extend Yacc To Write XS Code
6) Approximate Matching Regular Expressions
Part 4 - Standards Cross-reference
1) IETF - Internet Engineering Task Force (RFCs)
2) ITU - International Telegraph Union (X.*)
3) ISO - International Standards Organization (ISO*)
Part 5 - Who's Who and What's Where
1) Information / Contact Reference Details
2) Perl Frequently Asked Questions (FAQ) Files
3) Other Perl Archive Sites
Key: '+' indicates a new section or item,
'!' indicates a changed section or item (typically new modules).
======================================================================
Introduction
This document is a semi-formal list of Perl 5 Modules. The Perl 4
concept of packages has been extended in Perl 5 and a new standardised
form of reusable software component has been defined: the Module.
Perl 5 Modules typically conform to certain guidelines which make them
easier to use, reuse, integrate and extend.
This list will be posted to comp.lang.perl.announce and comp.answers on
a semi-regular basis. It has two key aims:
- FOR DEVELOPERS: To change duplication of effort into cooperation.
- FOR USERS: To quickly locate existing software which can be reused.
This list includes the Perl 5 standard modules, other completed
modules, work-in-progress modules and would-be-nice-to-have ideas for
modules. It also includes guidelines for those wishing to create new
modules including how to name them.
Where Are The Modules Kept?
Most, but not all, of the modules can be found within CPAN, the
Comprehensive Perl Archive Network of mirrored FTP sites. Within the
CPAN scheme the modules described in this list can be found in the
modules/ directory below the CPAN root directory. These are the
currently registered CPAN sites:
Africa
South Africa
ftp://ftp.is.co.za/programming/perl/CPAN/
ftp://ftpza.co.za/pub/mirrors/cpan/
Asia
Armenia
ftp://sunsite.aua.am/pub/CPAN/
China
ftp://freesoft.cei.gov.cn/pub/languages/perl/CPAN/
Hong Kong
ftp://ftp.hkstar.com/pub/CPAN/
Israel
ftp://bioinfo.weizmann.ac.il/pub/software/perl/CPAN/
Japan
ftp://ftp.dti.ad.jp/pub/lang/CPAN/
ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
ftp://ftp.lab.kdd.co.jp/lang/perl/CPAN/
ftp://mirror.nucba.ac.jp/mirror/Perl/
Singapore
ftp://ftp.nus.edu.sg/pub/unix/perl/CPAN/
South Korea
ftp://ftp.bora.net/pub/CPAN/
ftp://ftp.nuri.net/pub/CPAN/
Taiwan
ftp://ftp.wownet.net/pub2/PERL/
Thailand
ftp://ftp.cs.riubon.ac.th/pub/mirrors/CPAN/
ftp://ftp.nectec.or.th/pub/mirrors/CPAN/
Australasia
Australia
ftp://cpan.topend.com.au/pub/CPAN/
ftp://ftp.sage-au.org.au/pub/compilers/perl/CPAN/
ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
New Zealand
ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
ftp://sunsite.net.nz/pub/languages/perl/CPAN/
Central America
Costa Rica
ftp://ftp.ucr.ac.cr/pub/Unix/CPAN/
Europe
Austria
ftp://ftp.tuwien.ac.at/pub/languages/perl/CPAN/
Belgium
ftp://ftp.kulnet.kuleuven.ac.be/pub/mirror/CPAN/
Bulgaria
ftp://ftp.ntrl.net/pub/mirrors/CPAN/
Croatia
ftp://ftp.linux.hr/pub/CPAN/
Czech Republic
ftp://ftp.fi.muni.cz/pub/perl/
ftp://sunsite.mff.cuni.cz/Languages/Perl/CPAN/
Denmark
ftp://sunsite.auc.dk/pub/languages/perl/CPAN/
Estonia
ftp://ftp.ut.ee/pub/languages/perl/CPAN/
Finland
ftp://ftp.funet.fi/pub/languages/perl/CPAN/
France
ftp://ftp.lip6.fr/pub/perl/CPAN/
ftp://ftp.oleane.net/pub/mirrors/CPAN/
ftp://ftp.pasteur.fr/pub/computing/CPAN/
Germany
ftp://ftp.archive.de.uu.net/pub/CPAN/
ftp://ftp.gmd.de/packages/CPAN/
ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
ftp://ftp.leo.org/pub/comp/programming/languages/script/perl/CPAN/
ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
ftp://ftp.rz.ruhr-uni-bochum.de/pub/CPAN/
ftp://ftp.uni-erlangen.de/pub/source/CPAN/
ftp://ftp.uni-hamburg.de/pub/soft/lang/perl/CPAN/
Greece
ftp://ftp.ntua.gr/pub/lang/perl/
Hungary
ftp://ftp.kfki.hu/pub/packages/perl/CPAN/
Ireland
ftp://sunsite.compapp.dcu.ie/pub/perl/
Italy
ftp://cis.uniRoma2.it/CPAN/
ftp://ftp.flashnet.it/pub/CPAN/
Netherlands
ftp://ftp.cs.ruu.nl/pub/PERL/CPAN/
ftp://ftp.EU.net/packages/cpan/
Norway
ftp://ftp.uit.no/pub/languages/perl/cpan/
ftp://sunsite.uio.no/pub/languages/perl/CPAN/
Poland
ftp://ftp.man.szczecin.pl/pub/perl/CPAN/
ftp://ftp.man.torun.pl/pub/CPAN/
ftp://ftp.pk.edu.pl/pub/lang/perl/CPAN/
ftp://sunsite.icm.edu.pl/pub/CPAN/
Portugal
ftp://ftp.ci.uminho.pt/pub/lang/perl/
ftp://ftp.ua.pt/pub/CPAN/
Romania
ftp://ftp.dntis.ro/pub/mirrors/perl-cpan/
ftp://ftp.dnttm.ro/pub/CPAN/
Russia
ftp://cpan.npi.msu.su/CPAN/
ftp://ftp.sai.msu.su/pub/lang/perl/CPAN/
Slovakia
ftp://ftp.entry.sk/pub/languages/perl/CPAN/
Slovenia
ftp://ftp.arnes.si/software/perl/CPAN/
Spain
ftp://ftp.etse.urv.es/pub/perl/
ftp://ftp.rediris.es/mirror/CPAN/
Sweden
ftp://ftp.sunet.se/pub/lang/perl/CPAN/
Switzerland
ftp://sunsite.cnlab-switch.ch/mirror/CPAN/
Turkeya
ftp://sunsite.bilkent.edu.tr/pub/languages/CPAN/
United Kingdom
ftp://ftp.demon.co.uk/pub/mirrors/perl/CPAN/
ftp://ftp.flirble.org/pub/languages/perl/CPAN/
ftp://ftp.plig.org/pub/CPAN/
ftp://sunsite.doc.ic.ac.uk/packages/CPAN/
ftp://unix.hensa.ac.uk/mirrors/perl-CPAN/
North America
Canada
ftp://ftp.crc.ca/pub/packages/perl/CPAN/
ftp://theory.uwinnipeg.ca/pub/CPAN/
United States
ftp://cpan.if.usp.br/pub/mirror/CPAN/
ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
ftp://ftp.cdrom.com/pub/perl/CPAN/
ftp://ftp.cise.ufl.edu/pub/perl/CPAN/
ftp://ftp.cs.colorado.edu/pub/perl/CPAN/
ftp://ftp.digital.com/pub/plan/perl/CPAN/
ftp://ftp.duke.edu/pub/perl/
ftp://ftp.epix.net/pub/languages/perl/
ftp://ftp.iguide.com/pub/mirrors/packages/perl/CPAN/
ftp://ftp.metronet.com/pub/perl/
ftp://ftp.orst.edu/pub/packages/CPAN/
ftp://ftp.ou.edu/mirrors/CPAN/
ftp://ftp.rge.com/pub/languages/perl/
ftp://ftp.sedl.org/pub/mirrors/CPAN/
ftp://ftp.spu.edu/pub/CPAN/
ftp://ftp.uwsg.indiana.edu/pub/perl/CPAN/
ftp://uiarchive.uiuc.edu/pub/lang/perl/CPAN/
South America
Brazil
ftp://ftp.ing.puc.cl/pub/unix/perl/CPAN/
Chile
ftp://sunsite.dcc.uchile.cl/pub/Lang/perl/CPAN/
All the files under each of the directories listed above should be
identical at all these sites since they are all automatically
maintained mirrors of the master CPAN site. Please use which ever site
is 'nearest' you.
NOTE: If you can't find what you want, or wish to check that what
you've found is the latest version, or wonder why a module mentioned in
this list is not on CPAN, you should contact the person associated with
the module (and not the maintainers of the archives or this list).
Contact details are given at the start of Part 5.
Playing Your Part
Perl is a huge collaborative effort. Everyone who uses perl is
benefiting from the contributions of many hundreds, maybe thousands, of
people. How much time has perl saved you since you started using it?
Do you have any modules you could share with others? For example, you
may have some perl4 scripts from which generally useful, and reusable,
modules could be extracted. There may be many people who would find
your work very useful. Please play your part and contribute to the Perl
community where you can. [ end of sermon :-]
Help save the world! Please submit new entries and updates to us so we
can keep this list up-to-date. Send the new or corrected entry by email
to modules@perl.org (or modules@franz.ww.tu-berlin.de in case the above
doesn't work). Please do not send code to this address. Instead upload
your module, once registered, to the PAUSE site for forwarding on to
CPAN. See section 2, especially 2.6 and 2.11.
How To Get a More Recent Copy of the List
This Module List is posted to comp.lang.perl.modules, comp.answers and
news.answers bi-weekly with a long expiry time (over a month). The
first place to look for a more recent copy is therefore your own Usenet
spool area.
You should be able to get a copy from one of these places:
Editorial Information and Copyright
This document is Copyright (c) 1997 by Tim Bunce and Andreas K÷nig. All
rights reserved. Permission to distribute this document, in full or
part, via electronic means (emailed, posted or archived) or printed
copy is granted providing that no charges are involved, reasonable
attempt is made to use the most current version, and all credits and
copyright notices are retained. Requests for other distribution rights,
including incorporation in commercial products, such as books, magazine
articles, or CD-ROMs should be made to Tim.Bunce@ig.co.uk and
Andreas.Koenig@mind.de.
Disclaimer: The content of this document is simply a collection of
information gathered from many sources with little or no checking.
There are NO warranties with regard to this information or its use.
======================================================================
Part 1 - Modules: Creation, Use and Abuse
=========================================
1) Perl 5 Module Terminology
-------------------------
Perl 5 implements a class using a package, but the presence of a
package doesn't imply the presence of a class. A package is just a
namespace. A class is a package that provides subroutines that can be
used as methods. A method is just a subroutine that expects, as its
first argument, either the name of a package (for "static" methods), or
a reference to something (for "virtual" methods).
A module is a file that (by convention) provides a class of the same
name (sans the .pm), plus an import method in that class that can be
called to fetch exported symbols. This module may implement some of its
methods by loading dynamic C or C++ objects, but that should be totally
transparent to the user of the module. Likewise, the module might set
up an AUTOLOAD function to slurp in subroutine definitions on demand,
but this is also transparent. Only the .pm file is required to exist.
2) Guidelines for Module Creation
------------------------------
2.1 Do similar modules already exist in some form?
If so, please try to reuse the existing modules either in whole or
by inheriting useful features into a new class. If this is not
practical try to get together with the module authors to work on
extending or enhancing the functionality of the existing modules.
A perfect example is the plethora of packages in perl4 for dealing
with command line options.
If you are writing a module to expand an already existing set of
modules, please coordinate with the author of the package. It
helps if you follow the same naming scheme and module interaction
scheme as the original author.
2.2 Try to design the new module to be easy to extend and reuse.
Use blessed references. Use the two argument form of bless to bless
into the class name given as the first parameter of the constructor,
e.g.:
sub new {
my $class = shift;
return bless {}, $class;
}
or even this if you'd like it to be used as either a static
or a virtual method.
sub new {
my $self = shift;
my $class = ref($self) || $self;
return bless {}, $class;
}
Pass arrays as references so more parameters can be added later
(it's also faster). Convert functions into methods where
appropriate. Split large methods into smaller more flexible ones.
Inherit methods from other modules if appropriate.
Avoid class name tests like: die "Invalid" unless ref $ref eq 'FOO'.
Generally you can delete the "eq 'FOO'" part with no harm at all.
Let the objects look after themselves! If it's vital then you can
use the UNIVERSAL methods isa and can. Generally, avoid hardwired
class names as far as possible.
Avoid $r->Class::func() where using @ISA=qw(... Class ...) and
$r->func() would work (see perlbot man page for more details).
Use autosplit or the SelfLoader module so little used or newly added
functions won't be a burden to programs which don't use them. Add
test functions to the module after __END__ either using autosplit or
by saying:
eval join('',<main::DATA>) || die $@ unless caller();
Does your module pass the 'empty sub-class' test? If you say
"@SUBCLASS::ISA = qw(YOURCLASS);" your applications should be able
to use SUBCLASS in exactly the same way as YOURCLASS. For example,
does your application still work if you change: $obj = new YOURCLASS;
into: $obj = new SUBCLASS; ?
Avoid keeping any state information in your packages. It makes it
difficult for multiple other packages to use yours. Keep state
information in objects.
Always use -w. Try to "use strict;" (or "use strict qw(...);").
Remember that you can add "no strict qw(...);" to individual blocks
of code which need less strictness. Always use -w. Always use -w!
Follow the guidelines in the perlstyle(1) manual.
2.3 Some simple style guidelines
The perlstyle manual supplied with perl has many helpful points.
Coding style is a matter of personal taste. Many people evolve their
style over several years as they learn what helps them write and
maintain good code. Here's one set of assorted suggestions that
seem to be widely used by experienced developers:
Use underscores to separate words. It is generally easier to read
$var_names_like_this than $VarNamesLikeThis, especially for
non-native speakers of English. It's also a simple rule that works
consistently with VAR_NAMES_LIKE_THIS.
Package/Module names are an exception to this rule. Perl informally
reserves lowercase module names for 'pragma' modules like integer
and strict. Other modules normally begin with a capital letter and
use mixed case with no underscores (need to be short and portable).
You may find it helpful to use letter case to indicate the scope
or nature of a variable. For example:
$ALL_CAPS_HERE constants only (beware clashes with perl vars)
$Some_Caps_Here package-wide global/static
$no_caps_here function scope my() or local() variables
Function and method names seem to work best as all lowercase.
E.g., $obj->as_string().
You can use a leading underscore to indicate that a variable or
function should not be used outside the package that defined it.
For method calls use either
$foo = new Foo $arg1, $arg2; # no parentheses
$foo = Foo->new($arg1, $arg2);
but avoid the ambiguous form
$foo = new Foo($arg1, $arg2); # Foo() looks like function call
It can be very helpful if the names of the classes that your module
uses can be specified as parameters. Consider:
$dog_class = $args{dog_class} || 'Dog';
$spot = $dog_class->new(...);
This allows the user of your module to specify an alternative class
(typically a subclass of the one you would normally have used).
On how to report constructor failure, Larry said:
I tend to see it as exceptional enough that I'll throw a real Perl
exception (die) if I can't construct an object. This has a couple
of advantages right off the bat. First, you don't have to check the
return value of every constructor. Just say "$fido = new Doggie;"
and presume it succeeded. This leads to clearer code in most cases.
Second, if it does fail, you get a better diagnostic than just the
undefinedness of the return value. In fact, the exception it throws
may be quite rich in "stacked" error messages, if it's rethrowing an
exception caught further in.
And you can always catch the exception if it does happen using eval {}.
If, on the other hand, you expect your constructor to fail a goodly
part of the time, then you shouldn't use exceptions, but you should
document the interface so that people will know to check the return
value. You don't need to use defined(), since a constructor would
only return a true reference or a false undef. So good Perl style
for checking a return value would simply say
$conn = new Connection $addr
or die "Couldn't create Connection";
In general, make as many things meaningful in a Boolean context as
you can. This leads to straightforward code. Never write anything
like
if (do_your_thing() == OK)
in Perl. That's just asking for logic errors and domain errors.
Just write
if (do_your_thing())
Perl is designed to help you eschew obfuscation, if that's your thing.
2.4 Select what to export.
Do NOT export method names!
Do NOT export anything else by default without a good reason!
Exports pollute the namespace of the module user. If you must
export try to use @EXPORT_OK in preference to @EXPORT and avoid
short or common names to reduce the risk of name clashes.
Generally anything not exported is still accessible from outside the
module using the ModuleName::item_name (or $blessed_ref->method)
syntax. By convention you can use a leading underscore on names to
informally indicate that they are 'internal' and not for public use.
(It is actually possible to get private functions by saying:
my $subref = sub { ... }; &$subref; But there's no way to call that
directly as a method, since a method must have a name in the symbol
table.)
As a general rule, if the module is trying to be object oriented
then export nothing. If it's just a collection of functions then
@EXPORT_OK anything but use @EXPORT with caution.
2.5 Select a name for the module.
This name should be as descriptive, accurate and complete as
possible. Avoid any risk of ambiguity. Always try to use two or
more whole words. Generally the name should reflect what is special
about what the module does rather than how it does it.
Having 57 modules all called Sort will not make life easy for anyone
(though having 23 called Sort::Quick is only marginally better :-).
Imagine someone trying to install your module alongside many others.
If in any doubt ask for suggestions in comp.lang.perl.modules or
modules@perl.org.
Please use a nested module name to informally group or categorise
a module, e.g., placing a sorting module into a Sort:: category.
A module should have a very good reason not to have a nested name.
Please avoid using more than one level of nesting for module names
(packages or classes within modules can, of course, use any number).
Module names should begin with a capital letter. Lowercase names are
reserved for special modules such as pragmas (e.g., lib and strict).
Note that module names are not related to class hierarchies.
A module name Foo::Bar does not in any way imply that Foo::Bar
inherits from Foo. Nested names are simply used to provide some
useful categorisation for humans. The same is generally true for
all package names.
Since the CPAN is huge and growing daily, it's essential that
module authors choose names which lend themselves to browsing.
That means minimizing acronyms, cute names, and jargon. Also,
don't make up a new top level category unless you have a good
reason; please choose an already-existing category when
possible. Send mail to modules@perl.org before you upload, so
we can help you select a name.
If you insist on a name that we consider inappropriate, we
won't prevent you from uploading your module -- but it'll
remain in your "author" directory and won't be directly visible
from CPAN/modules/by-module.
We appreciate the efforts of the contributors who have helped
make the CPAN the world's largest reusable code repository.
Please help us enhance it by working with us to choose the
best name possible.
If you are developing a suite of related modules/classes it's good
practice to use nested classes with a common prefix as this will
avoid namespace clashes. For example: Xyz::Control, Xyz::View,
Xyz::Model etc. Use the modules in this list as a naming guide.
If adding a new module to a set, follow the original author's
standards for naming modules and the interface to methods in
those modules.
If developing modules for private internal or project specific use,
that will never be released to the public, then you should ensure
that their names will not clash with any future public module. You
can do this either by using the reserved Local::* category or by
using a category name that includes an underscore like Foo_Corp::*.
To be portable each component of a module name should be limited to
11 characters. If it might be used on DOS then try to ensure each is
unique in the first 8 characters. Nested modules make this easier.
2.6 Have you got it right?
How do you know that you've made the right decisions? Have you
picked an interface design that will cause problems later? Have
you picked the most appropriate name? Do you have any questions?
The best way to know for sure, and pick up many helpful suggestions,
is to ask someone who knows. The comp.lang.perl.modules Usenet
newsgroup is read by just about all the people who develop modules
and it's generally the best place to ask first. If you need more
help then try modules@perl.org.
All you need to do is post a short summary of the module, its
purpose and interfaces. A few lines on each of the main methods is
probably enough. (If you post the whole module it might be ignored
by busy people - generally the very people you want to read it!)
Don't worry about posting if you can't say when the module will be
ready - just say so in the message. It might be worth inviting
others to help you, they may be able to complete it for you!
2.7 README and other Additional Files.
It's well known that software developers usually fully document the
software they write. If, however, the world is in urgent need of
your software and there is not enough time to write the full
documentation please at least provide a README file containing:
- A description of the module/package/extension etc.
- A copyright notice - see below.
- Prerequisites - what else you may need to have.
- How to build it - possible changes to Makefile.PL etc.
- How to install it.
- Recent changes in this release, especially incompatibilities
- Changes / enhancements you plan to make in the future.
If the README file seems to be getting too large you may wish to
split out some of the sections into separate files: INSTALL,
Copying, ToDo etc.
2.8 Adding a Copyright Notice.
How you choose to licence your work is a personal decision.
The general mechanism is to assert your Copyright and then make
a declaration of how others may copy/use/modify your work.
Perl, for example, is supplied with two types of licence: The GNU
GPL and The Artistic License (see the files README, Copying and
Artistic). Larry has good reasons for NOT just using the GNU GPL.
My personal recommendation, out of respect for Larry, Perl and the
perl community at large is to simply state something like:
Copyright (c) 1997 Your Name. All rights reserved.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
This statement should at least appear in the README file. You may
also wish to include it in a Copying file and your source files.
Remember to include the other words in addition to the Copyright.
2.9 Give the module a version/issue/release number.
To be fully compatible with the Exporter and MakeMaker modules you
should store your module's version number in a non-my package
variable called $VERSION. This should be a valid floating point
number with at least two digits after the decimal (ie hundredths,
e.g, $VERSION = "0.01"). See Exporter.pm for details.
Don't use a "1.3.2" style version directly. If you use RCS or a
similar system which supports multilevel versions/branches you can
use this (but put it all on one line for MakeMaker VERSION_FROM):
$VERSION = do { my @r=(q$Revision: 2.99 $=~/\d+/g);
sprintf "%d."."%02d"x$#r,@r };
It may be handy to add a function or method to retrieve the number.
Use the number in announcements and archive file names when
releasing the module (ModuleName-1.02.tar.gz).
See perldoc ExtUtils::MakeMaker.pm for details.
2.10 Listing Prerequisites in a Bundle module
If your module needs some others that are available on CPAN, you
might consider creating a 'bundle' module that lists all the
prerequisites in a standardized way. Automatic installation software
such as the CPAN.pm module can take advantage of such a listing and
enable your users to install all prerequisites and your own module
with one single command. See the CPAN.pm module for details.
2.11 How to release and distribute a module.
By far the best way to release modules is to register yourself with
the Perl Authors Upload Server (PAUSE). By registering with PAUSE
you will be able to easily upload (or mirror) your modules to the
PAUSE server from where they will be mirrored to CPAN sites across
the planet.
It's good idea to post an announcement of the availability of your
module to the comp.lang.perl.announce Usenet newsgroup. This will
at least ensure very wide once-off distribution.
If not using PAUSE you should place the module into a major ftp
archive and include details of it's location in your announcement.
Some notes about ftp archives: Please use a long descriptive file
name which includes the version number. Most incoming directories
will not be readable/listable, i.e., you won't be able to see your
file after uploading it. Remember to send your email notification
message as soon as possible after uploading else your file may get
deleted automatically. Allow time for the file to be processed
and/or check the file has been processed before announcing its
location.
FTP Archives for Perl Modules:
Follow the instructions and links on
or upload to one of these sites:
and notify upload@pause.kbx.de.
By using the PAUSE WWW interface you can ask the Upload Server to
mirror your modules from your ftp or WWW site into your own
directory on CPAN. Please remember to send us an updated entry for
the Module list!
2.12 Take care when changing a released module.
Always strive to remain compatible with previous released versions
(see 2.2 above) Otherwise try to add a mechanism to revert to the
old behaviour if people rely on it. Document incompatible changes.
3) Guidelines for Converting Perl 4 Library Scripts into Modules
-------------------------------------------------------------
3.1 There is no requirement to convert anything.
If it ain't broke, don't fix it! Perl 4 library scripts should
continue to work with no problems. You may need to make some minor
changes (like escaping non-array @'s in double quoted strings) but
there is no need to convert a .pl file into a Module for just that.
See perltrap.pod for details of all known perl4-to-perl5 issues.
3.2 Consider the implications.
All the perl applications which make use of the script will need to
be changed (slightly) if the script is converted into a module. Is
it worth it unless you plan to make other changes at the same time?
3.3 Make the most of the opportunity.
If you are going to convert the script to a module you can use the
opportunity to redesign the interface. The 'Guidelines for Module
Creation' above include many of the issues you should consider.
3.4 The pl2pm utility will get you started.
This utility will read *.pl files (given as parameters) and write
corresponding *.pm files. The pl2pm utilities does the following:
- Adds the standard Module prologue lines
- Converts package specifiers from ' to ::
- Converts die(...) to croak(...)
- Several other minor changes
Being a mechanical process pl2pm is not bullet proof. The converted
code will need careful checking, especially any package statements.
Don't delete the original .pl file till the new .pm one works!
4) Guidelines for Reusing Application Code
---------------------------------------
4.1 Complete applications rarely belong in the Perl Module Library.
4.2 Many applications contain some perl code which could be reused.
Help save the world! Share your code in a form that makes it easy
to reuse.
4.3 Break-out the reusable code into one or more separate module files.
4.4 Take the opportunity to reconsider and redesign the interfaces.
4.5 In some cases the 'application' can then be reduced to a small
fragment of code built on top of the reusable modules. In these
cases the application could invoked as:
perl -MModule::Name -e 'func(@ARGV)'
=======================================================================
Part 2 - The Perl 5 Module List
===============================
The remainder of this document is divided up into sections. Each
section deals with a particular topic and lists all known modules
related to that topic. Modules are only listed in one section so
check all sections that might related to your particular needs.
All the information corresponds to the latest updates we have received.
We don't record the version number or release dates of the listed
Modules. Nor do we record the locations of these Modules. Consult the
contact, try the usual perl CPAN sites or ask in comp.lang.perl.modules.
Please do *not* ask us directly, we simply don't have the time. Sorry.
1) Module Listing Format
Each Module listing is very short. The main goal is to simply publish
the existence of the modules, or ideas for modules, and enough contact
information for you to find out more. Each listing includes some
characters which convey (approximate) basic status information.
For example:
Name DSLI Description Info
------------- ---- -------------------------------------------- -----
Fcntl Sdcf Defines fcntl() constants (see File::Lock) JHI
Where the 'DSLI' characters have the following meanings:
D - Development Stage (Note: *NO IMPLIED TIMESCALES*):
i - Idea, listed to gain consensus or as a placeholder
c - under construction but pre-alpha (not yet released)
a/b - Alpha/Beta testing
R - Released
M - Mature (no rigorous definition)
S - Standard, supplied with Perl 5
S - Support Level:
m - Mailing-list
d - Developer
u - Usenet newsgroup comp.lang.perl.modules
n - None known, try comp.lang.perl.modules
L - Language Used:
p - Perl-only, no compiler needed, should be platform independent
c - C and perl, a C compiler will be needed
h - Hybrid, written in perl with optional C code, no compiler needed
+ - C++ and perl, a C++ compiler will be needed
o - perl and another language other than C or C++
I - Interface Style
f - plain Functions, no references used
h - hybrid, object and function interfaces available
r - some use of unblessed References or ties
O - Object oriented using blessed references and/or inheritance
Where letters are missing they can usually be inferred from the
others. For example 'i' implies 'id', 'S' implies 'Su'.
The Info column gives a contact reference 'tag'. Lookup this tag in
the "Information / Contact Reference Details" section in Pert 3 of
this document. If no contact is given always try asking in
comp.lang.perl.modules.
Most Modules are nested in categories such as IPC::Open2 and IPC::Open3.
These are shown as 'IPC::' on one line then each module listed below
with a '::' prefix.
Ideas For Adoption
Modules listed as in the 'i' Development Stage with no contact
reference are ideas without an owner. Feel free to 'adopt' these but
please let me know so that we can update the list and thus inform anyone
else who might be interested. Adoption simply means that you either
hope to implement the module one day or would like to cooperate with
anyone else who might be interested in implementing it.
Cooperation
Similarly, if an idea that interests you has been adopted by someone
please contact them so you can share ideas. Just because an idea has
been adopted does NOT imply that it's going to be implemented. Just
because a module is listed and being implemented does NOT mean it'll
get finished. Waiting silently in the hope that the Module will appear
one day is unlikely to be fruitful! Offer to help. Cooperate. Pool your
efforts. Go on, try it!
The same applies to modules in all states. Most modules are developed
in limited spare time. If you're interested in a module don't just wait
for it to happen, offer to help.
Module developers should feel free to announce incomplete work early.
If you're not going to be able to spend much time on something then say
so. If you invite cooperation maybe someone will implement it for you!
_______________________________________________________________________
2) Perl Core Modules, Perl Language Extensions and Documentation Tools
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
CORE Sucf Internal package for perl native functions P5P
UNIVERSAL SucO Internal universal base-class JACKS
SUPER SucO Internal class to access superclass methods P5P
DynaLoader SucO Dynamic loader for shared libraries P5P
AutoLoader SupO Automatic function loader (using AutoSplit) P5P
SelfLoader SdpO Automatic function loader (using __DATA__) JACKS
Exporter SupO Implements default import method for modules P5P
Carp Supf Throw exceptions outside current package P5P
Config Supf Stores details of perl build configuration P5P
English Supf Defines English names for special variables P5P
Symbol SupO Create 'anonymous' symbol (typeglobs) refs CHIPS
Opcode Supf Disable named opcodes when compiling code TIMB
Taint bdpf Utilities related to tainting PHOENIX
Perl Pragmatic Modules
builtin adcf A selection of subs destined for the core GBARR
constant Supf Define compile-time constants P5P !
diagnostics Sdpf For reporting perl diagnostics in full form TOMC
enum cdpf resemble enumerated types in C ZENIN
integer Supf Controls float vs. integer arithmetic P5P
less Supf Controls optimisations (yet unimplemented) P5P
lib Supf Simple way to add/delete directories in @INC P5P
overload SdpO Overload perl operators for new data types ILYAZ
sigtrap Supf For trapping an abort and giving a traceback P5P
strict Supf Controls averments (similar to pragmas) P5P
subs Supf use subs qw(x y); is short for sub x; sub y; P5P
vars Supf predeclare variable names P5P
Perl Language Extensions
Alias bdcf Convenient access to data/code via aliases GSAR
Error adpO Error/exception handling in an OO-ish way GBARR
Perl adcO Create Perl interpreters from within Perl GSAR +
Plthread i Multithreading at Perl level (not O/S level) MICB
Protect bdpf declare subs private or member JDUNCAN
Safe SdcO Restrict eval'd code to safe subset of ops MICB
The Perl Compiler
B aucO The Perl Compiler MICB
O aucO Perl Compiler frontends MICB
B::
::Graph bdpr Perl Compiler backend to diagram OP trees SMCCAM !
Source Code Filters
Filter::Util::
::Exec bdcf Interface for creation of coprocess Filters PMQS
::Call bdcf Interface for creation of Perl Filters PMQS
Filter::
::exec bdcf Filters script through an external command PMQS
::sh bdcf Filters script through a shell command PMQS
::cpp bdcf Filters script through C preprocessor PMQS
::tee bdcf Copies to file perl source being compiled PMQS
::decrypt bdcf Template for a perl source decryption filter PMQS
Module Support
Module::
::Reload Rdpf Reloads files in %INC based on timestamps JPRIT +
Documentation Tools:
Pod::
::Diff cdpf compare two POD files and report diff IANC
::HTML cdpr converter to HTML KJALB
::Index cdpr index generator KJALB
::Latex cdpr converter to LaTeX KJALB
::Lint cdpO Lint-style validator for pod NEILB
::Man cdpr converter to man page KJALB
::MIF adpO converter to FrameMaker MIF JNH
::Parser bdpO Base class for parsing pod syntax BRADAPP
::Pod cdpr converter to canonical pod KJALB
::RTF cdpr converter to RTF KJALB
::Sdf cdpf converter to SDF IANC
::Select bdpf Print only selected sections of pod docs BRADAPP
::Simplify cdpr Common pod parsing code KJALB
::Texinfo cdpr converter to texinfo KJALB
::Text Supf convert POD data to formatted ASCII text TOMC
::Usage bdpf Print Usage messages based on your own pod BRADAPP
_______________________________________________________________________
3) Development Support
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
AutoSplit Supf Splits modules into files for AutoLoader P5P
Benchmark Supf Easy way to time fragments of perl code P5P
FindBin adpf Locate current script bin directory GBARR
DoWhatIWant i Does what you want without even asking
ExtUtils::
::DynaGlue adcr Methods for generating Perl extension files DOUGM
::MakeMaker SupO Writes Makefiles for extensions MMML
::Manifest Supf Utilities for managing MANIFEST files MMML
::Typemap i xsubpp typemap handling WPS
::Embed Sdpf Utilities for embedding Perl in C/C++ apps DOUGM
::F77 RdpO Facilitate use of FORTRAN from Perl/XS code KGB
Test::
::Cases cdpf Run group of tests, each with a new perl DOMO
::Harness Supf Executes perl-style tests ANDK
Devel::
::CallerItem RupO 'caller()' Object wrapper + useful methods JACKS
::CoreStack adpf generate a stack dump from a core file ADESC
::Coverage adpf Coverage analysis for Perl code RJRAY
::DebugAPI bdpf Interface to the Perl debug environment JHA
::DebugInit i Create a .gdbinit or similar file JASONS
::DProf Rdcf Execution profiler DMR
::DumpStack Rupf Dumping of the current function stack JACKS
::Leak Rdcf Find perl objects that are not reclaimed NI-S +
::Peek adcf Peek at internal representation of Perl data ILYAZ
::RegExp adcO Access perl internal regex functions ILYAZ
::SmallProf a Line-by-line profiler ASHTED
::Symdump RdpO Perl symbol table access and dumping ANDK
::TraceFuncs adpO Trace funcs by using object destructions JOEHIL
Usage bupr Type and range checking on subroutine args JACKS
VCS::
::PVCS i PVCS Version Manager (intersolv.com) BMIDD +
::RCS idpf Interface layer over RCS (See also Rcs) RJRAY
::RCE idcf Perl layer over RCE C API RJRAY
Rcs adcf Alternate RCS interface (see VCS::RCS) CFRETER
ClearCase::* idcf Environment for ClearCase revision control BRADAPP
Include adpO Parse C header files for use in XS GBARR
Make adpO Makefile parsing, and 'make' replacement NI-S
_______________________________________________________________________
4) Operating System Interfaces, Hardware Drivers
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Env Supf Alias environment variables as perl vars P5P
Errno cdpf Constants from errno.h EACCES, ENOENT etc GBARR
Fcntl Sdcf Defines fcntl() constants (see File::Lock) JHI
Ioctl cdcf Defines ioctl() constants KJALB
POSIX SupO An interface to most (all?) of POSIX.1 P5P
Shell Supf Run shell commands transparently within perl P5P
BSD::
::HostIdent i s/gethostname(), s/gethostid() JHI
::Ipfwgen bdpf Generate ipfw(8) filters MUIR
::Resource Rdcf getrusage(), s/getrlimit(), s/getpriority() JHI
Async::
::Group adpO Deal with simultaneous asynchronous calls DDUMONT +
::Process i class to run sub-processes DDUMONT +
Proc::
::Background bdpO OS independent background process objects BZAJAC +
::ExitStatus cdpf Interpret and act on wait() status values ROSCH
::Forkfunc Rdpf Simple lwall-style fork wrapper MUIR
::ProcessTable adcO Unix process table information DURIST +
::SafePipe cdpf popen() and `` without calling the shell ROSCH
::Simple adpO Fork wrapper with objects MSCHILLI
::SyncExec cdpf Spawn processes but report exec() errors ROSCH
::times adpf By-name interface to process times function TOMC
Schedule::
::At Rd OS independent interface to the at command JOSERODR
Quota Rdcf Disk quota system functions, local & remote TOMZO
Sys::
::AlarmCall Rupf Timeout on any sub. Allows nested alarms JACKS
::Hostname Supf Implements a portable hostname function P5P
::Sysconf bdpf Defines constants for POSIX::sysconf() NI-S
::Syslog Supf Provides same functionality as BSD syslog P5P
Platform Specific Modules
BeOS::
::base a Base perl5 functionality for the BeOS TSPIN
FreeBSD::
::SysCalls cdcf FreeBSD-specific system calls GARY
Mac:: Macintosh specific modules
::AppleEvents bmcO AppleEvent manager and AEGizmos MCPL
::Components bmcO (QuickTime) Component manager MCPL
::Files bmcO File manager MCPL
::Gestalt bmcO Gestalt manager: Environment enquiries MCPL
::Memory bmcO Memory manager MCPL
::MoreFiles bmcO Further file management routines MCPL
::OSA bmcO Open Scripting Architecture MCPL
::Processes bmcO Process manager MCPL
::Resources bmcO Resource manager MCPL
::Types bmcO (Un-)Packing of Macintosh specific types MCPL
Mac::Apps::
::Anarchie RdpO Interface to Anarchie with AppleEvents CNANDOR
::Launch RdpO Launch/Quit Mac OS Apps by creator ID CNANDOR
::MacPGP RdpO Interface to MacPGP 2.6.3 with AppleEvents CNANDOR
::PBar RdpO AppleEvent module for Progress Bar CNANDOR
Mac::Comm::
::OT_PPP RdpO Interface to Open Transport/PPP CNANDOR
MSDOS::
::Attrib bdcf Get/set DOS file attributes in OS/2 or Win32 CJM
::Descript bdpO Manage 4DOS style DESCRIPT.ION files CJM
::SysCalls adcf MSDOS interface (interrupts, port I/O) DMO
NeXTStep::
::NetInfo idcO NeXTStep's NetInfo (like ONC NIS) PGUEN
Netware::
::NDS cd+O Interface to Novell Directory Services KTHOMAS
::Bindery cd+O Interface to Novell Bindery mode calls KTHOMAS
OS2::
::ExtAttr RdcO (Tied) access to extended attributes ILYAZ
::FTP bncf Access to ftplib interface ILYAZ
::PrfDB RdcO (Tied) access to .INI-style databases ILYAZ
::REXX RdcO Access to REXX DLLs and REXX runtime ILYAZ
::UPM bncf User Profile Management ILYAZ
SGI::
::SysCalls cdcf SGI-specific system calls AMOSS
::GL adcr SGI's Iris GL library AMOSS
::FM adcr SGI's Font Management library AMOSS
Unix::
::UserAdmin Rdpf Interface to Unix Account Information JZAWODNY +
VMS::
::Filespec Sdcf VMS and Unix file name syntax CBAIL
::Lock cnco Object interface to $ENQ (VMS lock mgr) BHUGHES
::Persona Rdcf Interface to the VMS Persona services DSUGAL
::Priv Rdcf Access VMS Privileges for processes DSUGAL
::Process Rdcf Process management on VMS DSUGAL
::Queue bdcf Manage queues and entries DSUGAL
::SysCalls i VMS-specific system calls CBAIL
::System Rdcf VMS-specific system calls DSUGAL
Portable Digital Assistants
PDA::
::Pilot amcO Interface to pilot-link library KJALB
::PilotDesktop i Managing Pilot Desktop databases software JWIEGLEY
Hardware Drivers
Device::
::SVGA c SVGA Graphic card driver SCOTTVR
_______________________________________________________________________
5) Networking, Device Control (modems) and InterProcess Communication
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Socket Smcf Defines socket-related constants GNAT
Ptty adcf Pseudo terminal interface functions NI-S
Net::
::ACAP adpO Interface to ACAP Protocol (Internet-Draft) KJOHNSON
::Bind adpO Interface to bind daemon files KJOHNSON
::CDDB cdpr Interface to the CDDB (CD Database) DSTALDER
::Cmd cdpO For command based protocols (FTP, SMTP etc) GBARR
::DNS bdpO Interface to the DNS resolver MFUHR
::Dict cdpO Client of Dictionary Server Protocol (DICT) ABIGAIL !
::Dnet cdcO DECnet-specific socket usage SPIDB
::Domain adpf Try to determine TCP domain name of system GBARR
::DummyInetd RdpO A dummy Inetd server GBARR
::FTP adpf Interface to File Transfer Protocol GBARR
::Gen adcO Generic support for socket usage SPIDB
::ICAP adpO Interface to ICAP Protocol (Internet-Draft) KJOHNSON
::IMAP adpO Interface to IMAP Protocol (RFC2060) KJOHNSON
::IRC cdpO Internet Relay Chat interface DSHEPP
::Ident RdpO Performs ident (rfc1413) lookups JPC
::Inet adcO Internet (IP) socket usage SPIDB
::Interface a ifconfig(1) implementation SRZ
::LDAP adpO Interface to LDAP Protocol (RFC1777) PLDAP
::LDAPapi Rdcf Interface to UMICH and Netscape LDAP C API CDONLEY
::NIS adcO Interface to Sun's NIS RIK
::NISPlus adcO Interface to Sun's NIS+ RIK
::NNTP adpO Client interface to NNTP protocol GBARR
::Netmask adpO Understand and manipulate network blocks MUIR
::Netrc adpO Support for .netrc files GBARR
::PH RdpO CCSO Nameserver Client class GBARR
::POP3 adpO Client interface to POP3 protocol GBARR
::Pcap adcr An interface for LBL's packet capture lib PLISTER
::Ping SupO TCP and ICMP ping RMOSE
::SMTP adpf Interface to Simple Mail Transfer Protocol GBARR
::SNMP adpO Interface to SNMP Protocol (RFC1157) GBARR
::SNPP cdpO Client interface to SNPP protocol GBARR
::SOCKS cdcf TCP/IP access through firewalls using SOCKS SCOOPER
::SSLeay adcf Secure Socket Layer (Eric Young's version) SAMPO
::TCP adcO TCP-specific socket usage SPIDB
::TFTP cdpf Interface to Trivial File Transfer Protocol GBARR
::Telnet adpO Interact with TELNET port or other TCP ports JROGERS
::Time adpf Obtain time from remote machines GBARR
::UDP cdcO UDP-specific socket usage SPIDB
::hostent adpf A by-name interface for hosts functions TOMC
::netent adpf A by-name interface for networks functions TOMC
::protoent adpf A by-name interface for protocols functions TOMC
::servent adpf A by-name interface for services functions TOMC
::xAP adpO Interface to IMAP,ACAP,ICAP substrate KJOHNSON
IPC::
::Chat2 ? Out-of-service during refit! GBARR
::ChildSafe RdcO Control child process w/o risk of deadlock DSB
::Globalspace cdpO Multi-process shared hash and shared events JACKS
::Mmap i Interface to Unix's mmap() shared memory MICB
::Open2 Supf Open a process for both reading and writing P5P
::Open3 Supf Like IPC::Open2 but with error handling P5P
::Signal cdpf Translate signal names to/from numbers ROSCH
::SysV adcr shared memory, semaphores, messages etc JACKS
RPC:: Remote Procedure Calls (see also DCE::RPC)
::pServer RdpO Interface for building Perl Servers JWIED
::pClient RdpO Interface for building pServer Clients JWIED
::ONC adcO ONC RPC interface (works with perlrpcgen) JAKE
::Simple adpO Simple OO async remote procedure calls DDUMONT
DCE:: Distributed Computing Environment (OSF)
::ACL bdcO Interface to Access Control List protocol PHENSON
::DFS bdcO DCE Distributed File System interface PHENSON
::Login bdcO Interface to login functions PHENSON
::RPC c Remote Procedure Calls PHENSON
::Registry bdcO DCE registry functions PHENSON
::Status bdpr Make sense of DCE status codes PHENSON
::UUID bdcf Misc uuid functions PHENSON
Proxy i Transport-independent remote processing MICB
Proxy::
::Tk ? Tk transport class for Proxy (part of Tk) MICB
ToolTalk adcr Interface to the ToolTalk messaging service MARCP
SNMP RdcO Interface to CMU's SNMPv2 libsnmp.a GSM
SNMP::
::Monitor adpO Accounting and graphical display JWIED +
Parallel::
::Pvm bdcf Interface to the PVM messaging service EWALKER
CORBA::
::IOP::IOR adpO Decode, munge, and re-encode CORBA IORs PHILIPA
::IDLtree adpf IDL to symbol tree translator OMKELLOGG +
_______________________________________________________________________
6) Data Types and Data Type Utilities (see also Database Interfaces)
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Math::
::Amoeba Rdpr Multidimensional Function Minimisation JARW
::Approx adpO Approximate x,y-values by a function ULPFR
::BigFloat SupO Arbitrary size floating point math package MARKB
::BigInt SupO Arbitrary size integer math package MARKB
::BigInteger adc Arbitrary size integer as XS extension GARY
::BigRat ? Arbitrary size rational numbers (fractions) MARKB
::Brent Rdpr One-dimensional Function Minimisation JARW
::Complex SdpO Complex number data type RAM
::Derivative Rdpr 1st and 2nd order differentiation of data JARW
::Expr adpO Parses agebraic expressions HAKANARDO
::Fortran Rdpf Implements Fortran log10 & sign functions JARW
::Fourier i Fast Fourier Transforms AQUMSIEH +
::Fraction bdpO Fraction Manipulation KEVINA
::IEEE i Interface to ANSI/IEEE Std 754-1985 funcs
::Integral i Integration of data AQUMSIEH +
::Interpolate Rdpr Polynomial interpolation of data MATKIN
::LinearProg idp Linear programming utilities JONO
::Matrix adpO Matrix data type (transpose, multiply etc) ULPFR
::MatrixBool RdcO Matrix of booleans (Boolean Algebra) STBEY +
::MatrixCplx idpO Matrix data type for Complex Numbers STBEY
::MatrixReal RdpO Everything you ever wanted to do with Matr. STBEY
::Pari adcf Interface to the powerful PARI library ILYAZ
::Polynomial RdpO Polynomials as objects MATKIN
::Prime i Prime number testing GARY
::RandomPrime i Generates random primes of x bits GARY
::SigFigs bdpf Math using scientific significant figures SBECK
::Spline RdpO Cubic Spline Interpolation of data JARW
::Trig bdpf tan asin acos sinh cosh tanh sech cosech JARW
::TrulyRandom i based on interrupt timing discrepancies GARY
::VecStat Rdpr Some basic numeric stats on vectors JARW
::ematica adcO Interface to the powerful Mathematica system ULPFR
Statistics::
::ChiSquare Rdpf Chi Square test - how random is your data? JONO
::Descriptive RdpO Descriptive statistical methods COLINK
::LTU RdpO Implements Linear Threshold Units TOMFA
::MaxEntropy Rdpf Maximum Entropy Modeling TERDOEST +
::OLS bdpO ordinary least squares (curve fitting) SMORTON +
::ROC bdpO ROC curves with nonparametric conf. bounds HAKESTLER
Algorithms::Numerical::
::Shuffle Rdph Knuth's shuffle algorithm ABIGAIL !
::Sample RDph Knuth's sample algorithm ABIGAIL !
PDL amcf Perl Data Language - numeric analysis env PERLDL
PDL::
::PP amcf Automatically generate C code for PDL PERLDL
::Meschach amcf Links PDL to meschach matrix library EGROSS
::NetCDF adcr Reads/Writes NetCDF files from/to PDL objs DHUNT
::Slatec amof Interface to slatec (linpack+eispack) lib. PERLDL
Array::
::Heap cdpf manipulate array elements as a heap JMM
::PrintCols adpf Print elements in vertically sorted columns AKSTE
::Substr idp Implement array using substr() LWALL
::Vec idp Implement array using vec() LWALL
::Virtual idp Implement array using a file LWALL
Heap bdpO Define Heap interface JMM
Heap::
::Binary bdpO Implement Binary Heap JMM
::Binomial bdpO Implement Binomial Heap JMM
::Fibonacci bdpO Implement Fibonacci Heap JMM
::Elem bdpO Heap Element interface, ISA JMM
Heap::Elem::
::Num bdpO Numeric heap element container JMM
::NumRev bdpO Numeric element reversed order JMM
::Str bdpO String heap element container JMM
::StrRev bdpO String element reversed order JMM
::Ref bdpO Obj ref heap element container JMM
::RefRev bdpO Obj ref element reversed order JMM
List::
::Utils cdcf Extra list/array manipulation functions JNH
Bit::
::Vector RdcO Efficient bit vector and set base class STBEY
Set::
::IntRange RdcO Set of integers (arbitrary intervals, fast) STBEY
::IntSpan adpO Set of integers newsrc style '1,5-9,11' etc SWMCD
::Object bdcO Set of Objects (smalltalkish: IdentitySet) JLLEROY
::Scalar adpO Set of scalars (inc references) JHI
::Window bdpO Manages an interval on the integer line SWMCD
Graph::
::Element RdpO Base class for element of directed graph NEILB
::Node RdpO A node in a directed graph NEILB
::Edge RdpO An edge in a directed graph NEILB
::Kruskal Rdpf Kruskal Algorithm for Minimal Spanning Trees STBEY
Decision::
::Markov bdpO Build/evaluate Markov models for decisions ALANSZ !
Date::
::Calc Rdcf Gregorian calendar date calculations STBEY
::Convert cdpO Conversion between Gregorian, Hebrew, more? MORTY
::CTime adpf Updated ctime.pl with mods for timezones GBARR
::Format Rdpf Date formatter ala strftime GBARR
::GetDate adcf Yacc based free-format date parser in C TOMC
::Interval idpO Lightweight normalised interval data type KTORP
::Language adpO Multi-language date support GBARR
::Manip Rdpf Manipulate/parse international dates/times SBECK
::Parse Rdpf ASCII Date parser using regexp's GBARR
::Time idpO Lightweight normalised datetime data type TIMB
Time::
::CTime Rdpf Format Times ala ctime(3) with many formats MUIR
::DaysInMonth Rdpf Returns the number of days in a month MUIR
::HiRes Rdcf High resolution time, sleep, and alarm DEWEG
::JulianDay Rdpf Converts y/m/d into seconds MUIR
::Local Supf Implements timelocal() and timegm() P5P
::ParseDate Rdpf Parses many forms of dates and times MUIR
::Period Rdpf Code to deal with time periods PRYAN
::Timezone Rdpf Figures out timezone offsets MUIR
::Zone Rdpf Timezone info and translation routines GBARR
::gmtime Supf A by-name interface for gmtime TOMC
::localtime Supf A by-name interface for localtime TOMC
Calendar::
::CSA adcO interface with calenders such as Sun and CDE KJALB
::RCM i Russell Calendar Manager HTCHAPMAN
Tie::
::Hash Supr Base class for implementing tied hashes P5P
::Scalar Supr Base class for implementing tied scalars P5P
::Array c Base class for implementing tied arrays CHIPS
::CPHash bdpO Case preserving but case insensitive hash CJM
::Cache adpO In memory size limited LRU cache CHAMAS
::DB_Lock rdpO Tie DB_File with automatic locking KWILLIAMS !
::DBI RdpO Tie hash to a DBI handle LDS
::Dir adpr Tie hash for reading directories GBARR
::File adpr Tie hash to files in a directory AMW
::Handle RdpO Base class for implementing tied filehandles STBEY
::IxHash RdpO Indexed hash (ordered array/hash composite) GSAR
::Mem adcO Bind perl variables to memory addresses PMQS
::Quick i Simple way to create ties TIMB
::ShiftSplice i Defines shift et al in terms of splice LWALL
::SubstrHash SdpO Very compact hash stored in a string LWALL
::TextDir rdpO ties a hash to a directory of textfiles KWILLIAMS !
::Watch bdpO Watch variables, run code when read/written LUSOL
Class::
::Eroot RdpO Eternal Root - Object persistence DMR
::Singleton bdpO Implementation of a "Singleton" class ABW
::Template Rdpr Struct/member template builder DMR
::TOM RmpO Transportable Object Model for perl JDUNCAN
Object::
::Info Rupf General info about objects (is-a, ...) JACKS
Ref RdpO Print, compare, and copy perl structures MUIR
Sort::
::Fields bdpf sort text lines by alpha or numeric fields JNH
::PolySort bdpO general rules-based sorting of lists DMACKS
::Versions Rdpf sorting of revision (and similar) numbers KJALB
Data Type Marshaling (converting to/from strings) and Persistent Storage
FreezeThaw bdpf Convert arbitrary objects to/from strings ILYAZ
Persistent adpO (not supported anymore, placeholder) JPC
Storable bdcr Persistent data structure mechanism RAM
Marshal::
::Dispatch cdpO Convert arbitrary objects to/from strings MUIR
::Packed cdpO Run-length coded version of Marshal module MUIR
::Eval cdpO Undo serialization with eval MUIR
Data::
::Check cdpO Checks values for various data formats KENHOLM
::Dumper RdpO Convert data structure into perl code GSAR
::Flow RdpO Acquire data based on recipes ILYAZ
::Locations RdpO Handles nested insertion points in your data STBEY !
Tree::
::Base cdpO Defines a basic binary search tree MSCHWERN
::Fat adcO Embeddable F-Tree Algorithm Suite JPRIT
::Smart cdpO Sorted hash-ish, becomes faster with use MSCHWERN
_______________________________________________________________________
7) Database Interfaces (see also Data Types)
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
DBI amcO Generic Database Interface (see DBD modules) DBIML
DBD::
DBD::
::Altera bdpO Altera SQL Server for DBI - pure Perl code DSOUFLIS
::CSV adcO SQL engine and DBI driver for CSV files JWIED
::DB2 adcO DB2 Driver for DBI MHM
::Fulcrum cdcO Fulcrum SearchServer Driver for DB SHARI
::Informix amcO Informix Driver for DBI JOHNL
::Informix4 amcO DBI driver for Informix SE 4.10 GTHYNI
::Ingres amcO Ingres Driver for DBI HTOUG
::ODBC amcO ODBC Driver for DBI DBIML +
::Oracle amcO Oracle Driver for DBI TIMB
::QBase amcO QBase Driver for DBI BENLI
::Solid amcO Solid Driver for DBI TWENRICH
::Sybase amcO Sybase Driver for DBI MEWP
::XBase ampO XBase driver for DBI JANPAZ
::mSQL RmcO Msql Driver for DBI JWIED
::mysql RmcO Mysql Driver for DBI JWIED
::pNET amcO DBD proxy driver JWIED
Oraperl Rmpf Oraperl emulation interface for DBD::Oracle DBIML
Ingperl ampf Ingperl emulation interface for DBD::Ingres HTOUG
Sybase::
::BCP RdcO Sybase BCP interface MEWP
::DBlib RdcO Sybase DBlibrary interface MEWP
::Sybperl Rdpf sybperl 1.0xx compatibility module MEWP
::CTlib RdcO Sybase CTlibrary interface MEWP
Datascope Rdcf Interface to Datascope RDBMS DANMQ
LotusNotes i Interface to Lotus Notes C/C++ API JONO
Msql RmcO Mini-SQL database interface JWIED
Mysql RmcO mysql database interface JWIED
ObjStore Rm+O ObjectStore OODBMS Interface JPRIT
Pg Rdcf PostgreSQL SQL database interface MERGL
Postgres Rdcr PostgreSQL interface with Perl5 coding style VKHERA
Sprite RdpO Limited SQL interface to flat file databases SHGUN
Xbase bdpf Read Xbase files with simple IDX indexes PRATP
XBase bdpO Read/write interface to XBase files JANPAZ
Tied Hash File Interfaces:
AnyDBM_File Sup Uses first available *_File module above P5P
CDB_File adc Tie to CDB (Bernstein's constant DB) files TIMPX
DBZ_File adc Tie to dbz files (mainly for news history) IANPX
DB_File Suc Tie to DB files PMQS
GDBM_File Suc Tie to GDBM files P5P
MLDBM RdpO Transparently store multi-level data in DBM GSAR
NDBM_File Suc Tie to NDBM files P5P
ODBM_File Suc Tie to ODBM files P5P
SDBM_File Suc Tie to SDBM files P5P
AsciiDB::
::Parse i Generic text database parsing MICB
::TagFile adpO Tie class for a simple ASCII database JOSERODR
Db::
::Ctree bdcr Faircom's CTREE+ database interface REDEN
::Documentum bdcf Documentum EDMS Perl client interface BRIANSP
::dmObject cdpO Object-based interface to Documentum EDMS JGARRISON +
DTREE cdcf Interface to Faircom DTREE multikey ISAM db JWAT
Fame adcO Interface to FAME database and language TRIAS
MARC i Interface to MARC format (bibliography) PEM
NetCDF bmcr Interface to netCDF API for scientific data SEMM
Stanza i Text format database used by OSF and IBM JHI
Metadata::
::Base bdpO Base metadata functionality DJBECKETT
::IAFA bdpO IAFA templates metadata DJBECKETT
::SOIF bdpO Harvest SOIF metadata DJBECKETT
OLE::
::PropertySet aupO Property Set interface MSCHWARTZ
::Storage aupO Structured Storage / OLE document interface MSCHWARTZ
_______________________________________________________________________
8) User Interfaces (Character and Graphical)
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Term::
::ANSIColor Rdpf Color output using ANSI escape sequences RRA
::Cap Supf Basic termcap: Tgetent, Tputs, Tgoto TSANDERS
::Complete Supf Tab word completion using stty raw WTOMPSON
::Control idpf Basic curses-type screen controls (gotxy) KJALB
::Gnuplot adcf Draw vector graphics on terminals etc ILYAZ
::Info adpf Terminfo interface (currently just Tput) KJALB
::Query Rdpf Intelligent user prompt/response driver AKSTE
::ReadKey Rdcf Read keystrokes and change terminal modes KJALB
::ReadLine Sdcf Common interface for various implementations ILYAZ
::Screen RdpO Basic screen + input class (uses Term::Cap) MRKAE
::Size adcf Simple way to get terminal size TIMPX
Term::ReadLine::
::Perl RdpO GNU Readline history and completion in Perl ILYAZ
::Gnu RdcO GNU Readline XS library wrapper HAYASHI
Event adpO Perl event loop GBARR
Major Character User Interface Modules:
Curses adcO Character screen handling and windowing WPS
NCurses cdcO Curses using the ncurses package WPS
PerlMenu Mdpf Curses-based menu and template system SKUNZ
Cdk RdcO Collection of Curses widgets GLOVER
PV bmpO PerlVision curses windowing (OO widgets etc) AGUL
Emacs::
::Lisp adcO Support for perl embedded in GNU Emacs JTOBEY
Tk X Windows User Interface Modules:
Tk bmcO Object oriented version of Tk v4 TKML
See the Tk module list at http://www.perl.com/CPAN/modules/by-module/Tk/tk-modlist.html
Other Major X Windows User Interface Modules:
Gtk cdcO binding of the Gtk library used by GIMP KJALB
Gimp bdcO Interface to write plug-ins for The Gimp MLEHMANN
Sx Rdcf Simple Athena widget interface FMC
Fresco cd+O Interface to Fresco (post X11R6 version) BPETH
Qt ad+O Interface to the Qt toolkit AWIN
X11::
::Auth adpO Read and handle X11 '.Xauthority' files SMCCAM
::Fvwm RdcO interface to the FVWM window manager API RJRAY
::Keysyms adpf X11 key symbols (translation of keysymdef.h) SMCCAM
::Lib adcO X11 library interface KENFOX
::Motif bdcO Motif widget set interface KENFOX
::Protocol adpO Raw interface to X Window System servers SMCCAM
::Toolkit adcO X11 Toolkit library interface KENFOX
::Wcl bdcO Interface to the Widget Creation Library JHPB
::XEvent bdcO provides perl OO acess to XEvent structures MARTINB
::XFontStruct bdcO provides perl OO access to XFontStruct MARTINB
::Xforms bdcO provides the binding to the xforms library MARTINB
Abstract Graphical User Interfaces modules
GUI::
::Guido i bd+O Communicate with objects in a GUI TBRADFUTE
_______________________________________________________________________
9) Interfaces to or Emulations of Other Programming Languages
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
C::
::DynaLib bdcO Allows direct calls to dynamic libraries JTOBEY
::Scan RdpO Heuristic parse of C files ILYAZ
Tcl RdcO Complete access to Tcl MICB
::Tk RdcO Complete access to Tk *via Tcl* MICB
Language::
::Prolog adpO An implementation of Prolog JACKS
::PGForth i Peter Gallasch's Forth implementation PETERGAL
SICStus adcO Interface to SICStus Prolog Runtime CBAIL
Fortran::
::NameList adpf Interface to FORTRAN NameList data SGEL
Clips adpO Interface to the Expert System Clips MSULLIVAN +
ShellScript::
::Env adpO Simple sh and csh script generator SVENH +
_______________________________________________________________________
10) File Names, File Systems and File Locking (see also File Handles)
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Cwd Supf Current working directory functions P5P
File::
::Attrib idpO Get/set file attributes (stat) TYEMQ
::BSDGlob bdcf Secure, csh-compatible filename globbing GBACON +
::Basename Supf Return basename of a filename P5P
::CheckTree Supf Check file/dir tree against a specification P5P
::Compare Supf Compare file contents quickly P5P
::Copy adpf Copying files or filehandles ASHER
::CounterFile RdpO Persistent counter class GAAS
::Df adpf Free disk space utilities (h2ph required) FTASSIN +
::Find Supf Call func for every item in a directory tree P5P
::Flock adpf flock() wrapper. Auto-create locks MUIR
::Glob adpf Filename globing (ksh style) TYEMQ
::Listing bdpf Parse directory listings GAAS
::Lock adcf File locking using flock() and lockf() JHI
::Path Supf File path and name utilities P5P
::Slurp bdpf Read/write/append files quickly MUIR
::Sort adpf Emulate some functions of sort(1) CNANDOR
::Spec bdpO Handling files and directories portably KJALB
::Sync bdcf POSIX/*nix fsync() and sync() CEVANS
::Tail bdpO A more efficient tail -f MGRABNAR
::MultiTail adpO Tail multiple files SGMIANO
::lockf bdcf Interface to lockf system call PHENSON
::stat Supf A by-name interface for the stat function TOMC
Filesys::
::Df Rdpr Disk free based on Filesys::Statvfs IGUTHRIE !
::DiskFree adpO OS independant parser of the df command ABARCLAY +
::Statvfs Rdcf Interface to the statvfs() system call IGUTHRIE +
::dfent adpf By-name interface TOMC
::mntent adpf By-name interface TOMC
::statfs adpf By-name interface TOMC
LockFile:: Application-level locking facilities
::Simple adpr Simple file locking mechanism RAM
Stat::
::lsMode Rdpf Translate mode 0644 to -rw-r--r-- MJD
_______________________________________________________________________
11) String Processing, Language Text Processing, Parsing and Searching
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
String::
::Approx Rdpf Approximate string matching and substitution JHI
::BitCount adpf Count number of "1" bits in strings WINKO
::CRC Rdcf Cyclic redundency check generation MUIR
::Edit adpf Assorted handy string editing functions TOMC
::Parity adpf Parity (odd/even/mark/space) handling WINKO
::Scanf Rdpf Implementation of C sscanf function JHI
::ShellQuote adpf Quote string for safe passage through shells ROSCH
Language text related modules
Text::
::Abbrev Supf Builds hash of all possible abbreviations P5P
::Bib RdpO Module moved to Text::Refer ERYQ
::BibTeX adcO Parse BibTeX files GWARD
::CSV adpO Manipulate comma-separated value strings ALANCITT
::CSV_XS adpO Fast 8bit clean version of Text::CSV JWIED
::DelimMatch RdpO Match (possibly nested) delimited strings NWALSH
::FillIn rdpo Fill-in text templates KWILLIAMS +
::Format RdpO Advanced paragraph formatting GABOR
::Graphics RdpO Graphics rendering toolkit with text output SFARRELL !
::Invert cdpO Create/query inv. index of text entities NNEUL
::Metaphone adpf Phonetic encoding. A modern Soundex MSCHWERN
::MetaText bdpO Text processing/markup meta-language ABW
::Morse cdpf convert text to/from Morse code JONO
::ParseWords Supf Parse strings containing shell-style quoting HALPOM
::Refer RdpO Parse refer(1)-style bibliography files ERYQ
::Soundex Supf Convert a string to a soundex value MARKM
::Tabs Sdpf Expand and contract tabs ala expand(1) MUIR
::TeX cdpO TeX typesetting language input parser ILYAZ
::Template bdpO Expand template text with embedded perl MJD
::Vpp RdpO Versatile text pre-processor DDUMONT !
::Wrap Sdpf Wraps lines to make simple paragraphs MUIR
Other Text:: modules (these should be under String:: but pre-date it)
Text::
::Balanced Rdpf Extract balanced-delimiter substrings DCONWAY
::Parser adpO String parser using patterns and states PATM
::Trie adpf Find common heads and tails from strings ILYAZ
Stemming algorithms
Text::
::English adpf English language stemming IANPX
::German adpf German language stemming ULPFR
::Stem bdpf Porter algorithm for stemming English words IANPX
Natural Languages
Lingua::
::EN i Namespace for English language modules
::PT bupf Namespace for Portugese language modules EGROSS
Lingua::EN::
::Inflect Rdpf English singular->plural and "a"->"an" DCONWAY
::Cardinal i Convert numbers to words HIGHTOWE
::Ordinal i Convert numbers to words HIGHTOWE
ERG Rdpf An extensible report generator framework PHOENIXL +
Font::
::AFM RdpO Parse Adobe Font Metric files GAAS
::TFM adpO Read info from TeX font metric files JANPAZ
Number::
::Format adpO Package for formatting numbers for display WRW
Parse::
::ePerl Rdcr Embedded Perl (ePerl) parser RSE
::Lex adpO Generator of lexical analysers PVERD
::RecDescent RdpO Recursive descent parser generator DCONWAY
::Yapp adpO Generate Perl OO parsers from LALR1 grammars FDESAR +
Search::
::Dict Supf Search a dictionary ordered text file P5P
SGML::
::Element cdpO Build a SGML element structure tree LSTAF
::SPGrove bd+O Load SGML, XML, and HTML files KMACLEOD
SGMLS RdpO A Post-Processor for SGMLS and NSGMLS INGOMACH
RTF::
::Base i Classes for Microsoft Rich Text Format NI-S
SQL::
::Statement adcO Small SQL parser and engine JWIED
::Builder adpO OO interface for creating SQL statements ZENIN +
TeX::
::DVI adpO Methods for writing DVI (DeVice Independent) JANPAZ
::Hyphen adpO Hyphenate words using TeX's patterns JANPAZ
FrameMaker:: cdpO Top level FrameMaker interface PEASE
::FDK idcO Interface to Adobe FDK PEASE
::MIF cdpO Parse and Manipulate FrameMaker MIF files PEASE
::Control cdpO Control a FrameMaker session PEASE
Marpa cd+O Context Free Parser JKEGL
Chatbot::
::Eliza adpO Eliza algorithm encapsulated in an object JNOLAN
Quiz::
::Question cdpO Questions and Answers wrapper RFOLEY
_______________________________________________________________________
12) Option, Argument, Parameter and Configuration File Processing
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Getopt::
::EvaP Mdpr Long/short options, multilevel help LUSOL
::Gnu adcf GNU form of long option handling WSCOT
::Help bdpf Yet another getopt, has help and defaults IANPX
::Long Supf Advanced option handling JV
::Mixed Rdpf Supports both long and short options CJM
::Regex ad Option handling using regular expressions JARW
::Simple RdpO A simplified interface to Getopt::Long RSAVAGE
::Std Supf Implements basic getopt and getopts P5P
::Tabular adpr Table-driven argument parsing with help text GWARD
ConfigReader cdpO Read directives from configuration file AMW
Resources bdpf Application defaults management in Perl FRANCOC
IniConf bdpO Read/Write INI-Style configuration files SHUTTON
App:: General application development tools
::Config bdpO Configuration file mgmt ABW
_______________________________________________________________________
13) Internationalization and Locale
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
I18N::
::Charset Rdpf Character set names and aliases MTHURN +
::Collate Sdpr Locale based comparisons JHI
::LangTags Rdpf compare & extract language tags (RFC1766) SBURKE
::WideMulti i Wide and multibyte character string JHI
Locale::
::Country Rdpf ISO 3166 two letter country codes NEILB
::Langinfo cdcf The <langinfo.h> API JHI
::Language Rdpf ISO 639 two letter language codes NEILB
::Msgcat RdcO Access to XPG4 message catalog functions CHRWOLF
::gettext Rdcf Multilanguage messages PVANDRY
Unicode::
::UCS2 adpO Unicode UCS-2 encoded strings GAAS
::UCS4 i Unicode UCS-4 encoded strings GAAS
::CType i Classification of Unicode chars GAAS
Modules related to countries or national conventions
No::
::Dato adpf Norwegian stuff GAAS
::KontoNr adpf Norwegian stuff GAAS
::PersonNr adpf Norwegian stuff GAAS
::Sort adpf Norwegian stuff GAAS
::Telenor adpf Norwegian stuff GAAS
Cz::
::Sort adpO Czech sorting JANPAZ
::Cstocs adpO Charset reencoding JANPAZ
_______________________________________________________________________
14) Authentication, Security and Encryption (see also Networking)
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
User::
::pwent adpf A by-name interface to password database TOMC
::grent adpf A by-name interface to groups database TOMC
::utent cdcO Interface to utmp/utmpx/wtmp/wtmpx database ROSCH
PGP:: adpO Simple interface to PGP subprocess via pipes PGPML
::Sign bdpr Create and check PGP signatures, securely RRA
DES adcf DES encryption (libdes) EAYNG
Des adcf DES encryption (libdes) MICB
MD5 RdcO MD5 message digest algorithm NWINT
SHA adcO NIST SHA message digest algorithm UWEH
GSS adcO Generic Security Services API (RFC 2078) MSHLD
Crypt::
::CBC adpO Cipherblock chaining for Crypt::DES/IDEA LDS
::DES a DES encryption (libdes) GARY
::IDEA a International Data Encryption Algorithm GARY
::PRSG a 160 bit LFSR for pseudo random sequences GARY
Authen::
::ACE adcO Interface to Security Dynamics ACE (SecurID) DCARRIGAN
::Krb5 cdcO Interface to Kerberos API JHORWITZ
::PAM adcf Interface to PAM library NIKIP
::TacacsPlus adcO Authentication on tacacs+ server MSHOYHER
RADIUS::
::Dictionary bdpO Object interface to RADIUS dictionaries CHRMASTO !
::Packet bdpO Object interface to RADIUS (rfc2138) packets CHRMASTO !
::UserFile bdpO Manipulate a RADIUS users file OEVANS +
SSLeay::
::* cdcO Interface to SSLeay EAYNG
_______________________________________________________________________
15) World Wide Web, HTML, HTTP, CGI, MIME etc (see Text Processing)
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
URI::
::Escape ampf General URI escaping/unescaping functions LWWWP
::URL RmpO Uniform Resource Locator objects LWWWP
CGI::
::Base RmpO Complete HTTPD CGI Interface class CGIP
::BasePlus RmpO Extra CGI::Base methods (incl file-upload) CGIP
::CList bdpO Manages hierarchical collapsible lists PEARCEC
::Cache adpf Speed up slow CGI scripts by caching BROCSEIB
::Carp cmpf Drop-in Carp replacement for CGI scripts CGIP
::ErrorWrap bdpf Trap warnings and die and convert into HTML TOMC
::Imagemap adpO Imagemap handling for specialized apps MIKEH
::LogCarp adpf Error, log, bug streams, httpd style format MIKEKING
::MiniSvr RmpO Fork CGI app as a per-session mini server CGIP
::Out adpf Buffer CGI output and report errors MUIR
::Query adpO Parse CGI quiry strings MPECK
::Request RmpO Parse CGI request and handle form fields CGIP
::Response ampO Response construction for CGI applications CGIP
::Screen adpO Create multi screen CGI-scripts ULPFR
::Session cmpO Maintain session/state information MGH
::Validate adpO Advanced CGI form parser ZENIN
HTML::
::QuickCheck cdpf Fast simple validation of HMTL text YLU
::Base adpO Object-oriented way to build pages of HTML GAND
::Simple bdpf Simple functions for generating HTML TOMC
::EP adpO Modular, extensible Perl embedding JWIED +
::Element ampO Representation of a HTML parsing tree LWWWP
::Embperl bdcf Embed Perl in HTML GRICHTER
::Entities bmpf Encode/decode HTML entities LWWWP
::Formatter ampO Convert HTML to plain text or Postscript LWWWP
::Mason bdpO Build sites from modular Perl/HTML blocks JSWARTZ
::Parse ampO Parse HTML documents LWWWP
::ParseForm i Parse and handle HTML forms via templates NMONNET
::SimpleParse bdpO Bare-bones HTML parser KWILLIAMS +
::Stream RdpO HTML output stream ERYQ
::Table bnpO Write HTML tables via spreadsheet metaphor STLACY
::TableLayout bdpO an extensible OO layout manager SFARRELL
HTTP::
::Date bmpf Date conversion for HTTP date formats LWWWP
::Headers bmpO Class encapsulating HTTP Message headers LWWWP
::Message bmpO Base class for Request/Response LWWWP
::Request bmpO Class encapsulating HTTP Requests LWWWP
::Response bmpO Class encapsulating HTTP Responses LWWWP
::Status bmpf HTTP Status code processing LWWWP
::Negotiate bmpf HTTP content negotiation LWWWP
HTTP::Request::
::Form RdpO Generates HTTP::Request objects out of forms GBAUER
HTTPD::
::UserAdmin bdpO Management of server user databases DOUGM
::GroupAdmin bdpO Management of server group databases DOUGM
::Authen bdpO Preform HTTP Basic and Digest Authentication DOUGM
::Config cdpO Management of server configuration files DOUGM
::Access cdpO Management of server access control files DOUGM
WWW::
::Robot adpO Web traversal engine for robots & agents NEILB
::RobotRules ampO Parse /robots.txt file LWWWP
::Search adpO Front-end to Web search engines JOHNH
LWP:: Libwww-perl-5
::MediaTypes Rmpf Media types and mailcap processing LWWWP
::Parallel RmpO Allows parallel http and ftp access with LWP MARCLANG
::Protocol RmpO LWP support for URL schemes (http, file etc) LWWWP
::RobotUA RmpO A UserAgent for robot applications LWWWP
::Simple Rmpf Simple procedural interface to libwww-perl LWWWP
::UserAgent RmpO A WWW UserAgent class LWWWP
MIME::
::Base64 Rdpf Encode/decode Base 64 (RFC 1521) GAAS
::QuotedPrint Rdpf Encode/decode Quoted-Printable GAAS
::Decoder adpO OO interface for decoding MIME messages ERYQ
::Entity adpO An extracted and decoded MIME entity ERYQ
::Head adpO A parsed MIME header ERYQ
::IO adpO Simple I/O handles for filehandles/scalars ERYQ
::Latin1 adpO Encoding 8-bit Latin-1 as 7-bit ASCII ERYQ
::Lite RdpO Single module for composing simple MIME msgs ERYQ
::Parser adpO Parses streams to create MIME entities ERYQ
::ParserBase adpO For building your own MIME parser ERYQ
::Words cdpf Encode/decode RFC1522-escaped header strings ERYQ
Netscape::
::Cache bdpO Access Netscape cache files SREZIC
::History bdpO Class for accessing Netscape history DB NEILB
::HistoryURL bdpO Like a URI::URL, but with visit time NEILB
::Server adcO Perl interface to Netscape httpd API BSUGARS
HyperWave::
::CSP cdpO Interface to HyperWave's HCI protocol GOSSAMER
WebFS::
::FileCopy bdpf Get, put, copy, delete files located by URL BZAJAC
CCI i Common Client Interface for WWW browsers DOUGM
CGI_Lite MnpO Light-weight interface for fast apps SHGUN
FCGI Rdcr Fast CGI SKIMO
Apache RdcO Interface to the Apache server API DOUGM
For Apache see also http://www.perl.com/CPAN/modules/by-module/Apache/apache-modlist.html
_______________________________________________________________________
16) Server and Daemon Utilities
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
EventServer RupO Triggers objects on i/o, timers & interrupts JACKS
::Functions Rupf Utility functions for initializing servers JACKS
::*Wrapper Rupf Bunch of wrappers for different server types JACKS
::Gettimeofday Rupr gettimeofday syscall wrapper JACKS
::Signal Rupr signalhandler for the eventserver JACKS
Server::Server::
::EventDriven RupO See 'EventServer' (compatibility maintained) JACKS
Server::Echo::
::MailPipe cup A process which accepts piped mail JACKS
::TcpDForking cup TCP daemon which forks clients JACKS
::TcpDMplx cup TCP daemon which multiplexes clients JACKS
::TcpISWFork cup TCP inetd wait process, forks clients JACKS
::TcpISWMplx cup TCP inetd wait process, multiplexes clients JACKS
::TcpISNowait cup TCP inetd nowait process JACKS
::UdpD cup UDP daemon JACKS
::UdpIS cup UDP inetd process JACKS
Server::Inet::
::Functions cdpf Utility functions for Inet socket handling JACKS
::Object cupO Basic Inet object JACKS
::TcpClientObj cupO A TCP client (connected) object JACKS
::TcpMasterObj cupO A TCP master (listening) object JACKS
::UdpObj cupO A UDP object JACKS
Server::FileQueue::
::Functions cupf Functions for handling files and mailboxes JACKS
::Object cupO Basic object JACKS
::DirQueue cupO Files queued in a directory JACKS
::MboxQueue cupO Mail queued in a mail box JACKS
Server::Mail::
::Functions cupf Functions for handling files and mailboxes JACKS
::Object cupO Basic mail object JACKS
MailBot cdpO Archive server, listserv, auto-responder RHNELSON
NetServer::
::Generic adpO generic OOP class for internet servers CHSTROSS +
_______________________________________________________________________
17) Archiving, Compression and Conversion
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Compress::
::Zlib RdcO Interface to the Info-Zip zlib library PMQS
Convert::
::BER adpO Class for encoding/decoding BER messages GBARR
::BinHex cdpO Convert to/from RFC1741 HQX7 (Mac BinHex) ERYQ
::EBCDIC adpf ASCII to/from EBCDIC CXL
::Recode ? Mapping functions between character sets GAAS
::SciEng i Convert scientific postfix scale factors COLINK
::Translit MdpO String conversion among many character sets GENJISCH
::UU bdpf UUencode and UUdecode ANDK
AppleII::
::Disk bdpO Read/write Apple II disk image files CJM
::ProDOS bdpO Manipulate files on ProDOS disk images CJM
::DOS33 i Manipulate files on DOS 3.3 disk images CJM
::Pascal i Manipulate files on Apple Pascal disk images CJM
Archive::
::Tar adpO Read, write and manipulate tar files CDYBED
_______________________________________________________________________
18) Images, Pixmap and Bitmap Manipulation, Drawing and Graphing
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
GD adcO GIF editing/painting/manipulation LDS
OpenGL adcf Interface to OpenGL drawing/imaging library ADESC
PGPLOT Rdof PGPLOT plotting library - scientific graphs KGB
PixDraw adcO Drawing and manipulating true color images KSB
GIFgraph RdpO Package to generate GIF graphs, uses GD.pm MVERB
VRML:: RdpO VRML methods independent of specification HPALM
::VRML1 RdpO VRML methods with the VRML 1.0 standard HPALM
::VRML2 RdpO VRML methods with the VRML 2.0 standard HPALM
::Color Rdpf color functions and X11 color names HPALM
::Base RdpO common basic methods HPALM
::Browser i A complete VRML viewer LUKKA
Graphics::
::Simple idcO Simple drawing primitives NEERI
::Turtle idp Turtle graphics package NEERI
Image::
::Colorimetry cdpO transform colors between colorspaces JONO
::Grab RdpO Grabbing images off the Internet MAHEX
::Magick RdcO Read, query, transform, and write images JCRISTY
::Size Rdpf Measure size of images in common formats RJRAY
Chart::
::Base a Business charts MKRUSE
::Plot bdcO Graph two-dimensional data (uses GD.pm) SMORTON
T3D cdpO Realtime extensible 3D rendering GJB
ThreeD i Namespace root for all kinds of 3D modules ADESC
RenderMan a Manipulate RenderMan objects GMLEWIS
_______________________________________________________________________
19) Mail and Usenet News
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Mail::
::Address adpf Manipulation of electronic mail addresses GBARR
::Alias adpO Reading/Writing/expanding of mail aliases GBARR
::Cap adpO Parse mailcap files as specified in RFC 1524 GBARR
::Field RdpO Base class for handling mail header fields GBARR
::Folder adpO Base-class for mail folder handling KJOHNSON
::Header RdpO Manipulate mail RFC822 compliant headers GBARR
::Internet adpO Functions for RFC822 address manipulations GBARR
::MH adcr MH mail interface MRG
::Mailer adpO Simple mail agent interface (see Mail::Send) GBARR
::POP3Client RdpO Support for clients of POP3 servers SDOWD
::Send adpO Simple interface for sending mail GBARR
::UCEResponder i Spamfilter CHSTROSS
::Util adpf Mail utilities (for by some Mail::* modules) GBARR
News::
::Article adpO Module for handling Usenet articles AGIERTH
::Gateway ampO Mail/news gatewaying, moderation support RRA
::NNTPClient bdpO Support for clients of NNTP servers RVA
::Newsrc adpO Manage .newsrc files SWMCD
::Scan cdpO Gathers and reports newsgroup statistics GBACON
NNTP::
::Server i Support for an NNTP server JOEHIL
NNML::
::Server adpO An simple RFC 977 NNTP server ULPFR
_______________________________________________________________________
20) Control Flow Utilities (callbacks and exceptions etc)
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
AtExit Rdpr atexit() function to register exit-callbacks BRADAPP
Callback RdpO Define easy to use function callback objects MUIR
Memoize adpr Cache results of individual function calls MJD
Religion adpr Control where you go when you die()/warn() KJALB
Hook::
::PrePostCall adpO Add actions before and after a routine PVERD
_______________________________________________________________________
21) File Handle, Directory Handle and Input/Output Stream Utilities
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
IO::
::AtomicFile adpO Write a file which is updated atomically ERYQ
::Dir cdpO Directory handle objects and methods GBARR
::File cdpO Methods for disk file based i/o handles GBARR
::Format adpO Treat perl formats as objects SBECK
::Handle cdpO Base class for input/output handles GBARR
::Lines bdpO I/O handle to read/write to array of lines ERYQ
::Pipe cdpO Methods for pipe handles GBARR
::Ptty adcf Pseudo terminal interface functions GBARR
::Pty cdpO Methods for pseudo-terminal allocation etc PEASE
::STREAMS cdcO Methods for System V style STREAMS control NI-S
::Scalar RdpO I/O handle to read/write to a string ERYQ
::ScalarArray RdpO I/O handle to read/write to array of scalars ERYQ
::Seekable cdpO Methods for seekable input/output handles GBARR
::Select adpO Object interface to system select call GBARR
::Socket cdpO Methods for socket input/output handles GBARR
::Stty bdpf POSIX compliant stty interface AUSCHUTZ
::Tee RdpO Multiplex output to multiple handles KENSHAN
::Wrap RdpO Wrap old-style FHs in standard OO interface ERYQ
::WrapTie adpO Tie your handles & retain full OO interface ERYQ
::Zlib adpO IO:: style interface to Compress::Zlib TOMHUGHES
FileHandle SupO File handle objects and methods P5P
FileCache Supf Keep more files open than the system permits P5P
DirHandle SupO Directory handle objects and methods CHIPS
SelectSaver SupO Save and restore selected file handle CHIPS
Selectable cdpO Event-driven I/O streams MUIR
Log::
::Topics Rdpf Control flow of topic based logging messages JARW
Expect RdpO Close relative of Don Libes' Expect in perl AUSCHUTZ +
_______________________________________________________________________
22) Microsoft Windows Modules
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Win32::
::AdminMisc Rdcf Misc admin and net functions DAVEROTH
::ChangeNotify bdcO Monitor changes to files and directories CJM
::Event bdcO Use Win32 event objects for IPC CJM
::EventLog adcf Interface to Win32 EventLog functions WIN32
::FUtils bdcf Implements missing File Utility functions JOCASA
::GD RdcO Win32 port of the GD extension (gif module) DAVEROTH
::IPC bdcO Base class for Win32 synchronization objects CJM
::Message bdcf Network based message passing DAVEROTH
::Mutex bdcO Use Win32 mutex objects for IPC CJM
::NetAdmin adcf Interface to Win32 NetAdmin functions WIN32
::NetResource adcf Interface to Win32 NetResource functions WIN32
::ODBC Rd+O ODBC interface for accessing databases DAVEROTH
::OLE adcf Interface to OLE API functions WIN32
::Pipe Rd+O Named Pipes and assorted function DAVEROTH
::Process adcf Interface to Win32 Process functions WIN32
::Registry adcf Interface to Win32 Registry functions WIN32
::Semaphore bdcO Use Win32 semaphore objects for IPC CJM
::SerialPort adpO Win32 Serial functions/constants/interface BBIRTH
::WinError adcf Interface to Win32 WinError functions WIN32
WinNT cdcf Interface to Windows NT specific functions WIN32
NT cdcf Old name for WinNT - being phased out WIN32
Win95 i Interface to Windows 95 specific functions WIN32
Win32API
::Registry adcf Win32 Registry functions/constants TYEMQ
::File cdcf Win32 file/dir functions/constants TYEMQ
::Window cdcf Win32 Windowing functions/constants TYEMQ
::WinStruct cdcf Routines for Win32 Windowing data structures TYEMQ
::Console cdcf Win32 Console Window functions/consts TYEMQ
_______________________________________________________________________
23) Miscellaneous Modules
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Archie Rdpf Archie queries via Prospero ARDP protocol GBOSS
Bundle i Namespace reserved for modules collections ANDK
CPAN RdpO Perl Archive browse and download ANDK
Neural ad+O Generic simulation of neural networks LUKKA
Nexus cdcO Interface to Nexus (threads/ipc/processes) RDO
Pcap i An interface for LBL's packet capture lib AMOSS
Roman Rdpf Convert Roman numbers to and from Arabic OZAWA
SDDF cd+O Interface to Pablo Self Defining Data Format FIS
Wais Rdcf Interface to the freeWAIS-sf libraries ULPFR
Business::
::CreditCard Rdpf Credit card number check digit test JONO
::ISBN RdpO Work with ISBN as objects BDFOY
Bio::
::* i Utilities for molecular biology SEB
Remedy::
::AR adcO Interface to Remedy's Action Request API RIK
ARS Rd?? Interface to Remedy's Action Request API JMURPHY
Psion::
::Db idpO Handle Psion palmtop computer database files IANPX
HP200LX::
::DB cdpO Handle HP 200LX palmtop computer database GGONTER
::DBgui cdpO Tk base GUI for HP 200LX db files GGONTER
Agent cdpO Transportable Agent module SPURKIS
NetObj adpO Module loading in real time over TCP/IP JDUNCAN
Penguin RdpO Remote Perl in Secure Environment AMERZKY +
Penguin::
::Easy RdpO Provides quick, easy access to Penguin API JDUNCAN
BarCode::
::UPC i Produce PostScript UPC barcodes JONO
Audio::
::Sox i sox sound library as one or more modules NI-S
MIDI cdpO Object interface to MIDI files SBURKE +
Logfile RdpO Generic methods to analyze logfiles ULPFR
SyslogScan::
::SyslogEntry bdpO Parse UNIX syslog RHNELSON
::SendmailLine bdpO Summarize sendmail transactions RHNELSON
Chemistry::
::Elements RdpO Working with Chemical Elements BDFOY
::Isotopes idpO extends Elements to deal with isotopes BDFOY
FAQ::
::OMatic RdpO A CGI-based FAQ/help database maintainer JHOWELL
Geo::
::METAR Rdpf Process Aviation Weather (METAR) Data JZAWODNY +
::WeatherNOAA Rdpf Current/forecast weather from NOAA MSOLOMON +
Games::
::WordFind bdpO Generate word-find type puzzles AJOHNSON
Cisco::
::Conf adpO Cisco router administratian via TFTP JWIED
Silly::
::StringMaths adpf Do maths with letters and strings SKINGTON +
_______________________________________________________________________
24) Interface Modules to Commercial Software
Name DSLI Description Info
----------- ---- -------------------------------------------- -----
Resolute::
::RAPS cd+O Interface to Resolute Software's RAPS CHGOETZE
AltaVista::
::SearchSDK cdcf Perl Wrapper for AltaVista SDK functionality JTURNER +
=======================================================================
Part 3 - Big Projects Registry
==============================
This section of the Module List is devoted to listing "Big Projects".
I don't want to define Big (or even Project) here. Hopefully the items
below speak for themselves. Almost all are just ideas, though some have
been dabbled with and some are active projects.
These are ideas for people with very strong skills and lots of time.
Please talk, and listen, to Larry and the perl5-porters _before_
starting to do any work on projects which relate to the core
implementation of Perl.
Ask not when these will be implemented, ask instead how you can help
implement them.
1) Items in the Todo File
The Todo supplied with Perl lists over 50 items in categories ranging
from "Would be nice to have" to "Vague possibilities".
Contacts: P5P
2) Multi-threading
This is really two projects. True threads (e.g., POSIX) using multiple
independant perl interpreter structures and simple timeslicing of
'tasks' within a single perl interpreter. True threads requires
operating system support or an external thread library, simple
timeslicing does not (and should be portable to all platforms).
Malcolm Beattie <mbeattie@sable.ox.ac.uk> has done extensive work in
this area and is folding this work into Perl now for version 5.005 or
5.006.
Contacts: MICB P5P
3) Object Management Group CORBA & IDL
Contacts: COPEML BARTS
4) Expand Tied Array Interface
LEN, PUSH, POP, SHIFT, UNSHIFT and a fallback to SPLICE are needed.
Complicated by very widespread use of arrays within perl internals.
Contacts: P5P CHIPS
5) Extend Yacc To Write XS Code
Contacts: JAKE NI-S P5P
6) Approximate Matching Regular Expressions
Add support for approximate matching m/.../a (like the agrep utility).
Contacts: JHI
=======================================================================
Part 4 - Standards Cross-reference
==================================
This section aims to provide a cross reference between standards that
exist in the computing world and perl modules which have been written
to implement or interface to those standards.
It also aims to encourage module authors to consider any standards that
might relate to the modules they are developing.
1) IETF - Internet Engineering Task Force (RFCs)
Standard Description Module Name
-------- ----------- -----------
RFC821 Simple Mail Transfer Protocol Net::SMTP
RFC822 Internet Mail Header Mail::Header
RFC822 Internet Mail addresses Mail::Address
RFC867 Daytime Protocol Net::Time
RFC868 Time Protocol Net::Time
RFC959 File Transfer Protocol Net::FTP
RFC977 A minimal NNTP Server NNML::Server
RFC977 Network News Transfer Protocol Net::NNTP
RFC1035, RFC1183, RFC1706
Domain names, implementation & specification Net::DNS
RFC1123 Date conversion routines HTTP::Date
RFC1321 MD5 Message-Digest Algorithm MD5
RFC1413 Identification Protocol Net::Ident
RFC1521 Encode/decode quoted-printable strings MIME::QuotedPrint
RFC1592 Simple Network Management Protocol Net::SNMP
RFC1738 Uniform Resource Locators URI::URL
RFC1777 Lightweight Directory Access Protocol Net::LDAP
RFC1861 Simple Network Pager Protocol Net::SNPP
RFC1866 Encode/decode HTML entities in a string HTML::Entities
RFC1939 Post Office Protocol 3 Net::POP3
RFC1950-1952
ZLIB, DEFLATE, GZIP Compress::Zlib
RFC1960 String Representation of LDAP Search Filters Net::LDAP::Filter
RFC2045-2049
MIME - Multipurpose Internet Mail Extensions MIME::*
RFC2138 Terminal server authentification and accting RADIUS
RFC2229 Dictionary Server Net::Dict
_______________________________________________________________________
2) ITU - International Telegraph Union (X.*)
Standard Description Module Name
-------- ----------- -----------
X.209 Basic Encoding Rules for ASN.1 Convert::BER
_______________________________________________________________________
3) ISO - International Standards Organization (ISO*)
Standard Description Module Name
-------- ----------- -----------
ISO/R 2015-1971
Date calculations for the Gregorian calendar Date::DateCalc
ISO639 Two letter codes for language identification Locale::Language
ISO3166 Two letter codes for country identification Locale::Country
=======================================================================
Part 5 - Who's Who
==================
1) Information / Contact Reference Details (in alphabetical order)
Ref Contact Details
----- --------------------------------------------------------------
ABARCLAY Alan Barclay <gorilla@elaine.drink.com>
ABH Ask Bj°rn Hansen <ask@netcetera.dk>
ABIGAIL Abigail <abigail@fnx.com>
ABURLISON Alan Burlison <Alan.Burlison@UK.Sun.COM>
ABW Andy Wardley <abw@cre.canon.co.uk>
ACALPINI Aldo Calpini <dada@divinf.it>
ACH Achim Bohnet <ach@mpe.mpg.de>
ADESC Alligator Descartes <descarte@arcana.co.uk>
AEPAGE Andrew E Page <aep@world.std.com>
AGENTML Mailing List For Perl5 Agents
Send email to perl5-agentr@epitome.hawk.igs.net with the
body "subscribe <emailaddr>"
AGIERTH Andrew P. J. Gierth <andrew@erlenstar.demon.co.uk>
AGUL Ashish Gulhati <hash@netropolis.org>
AJOHNSON Andrew L Johnson <ajohnson@gpu.srv.ualberta.ca>
AKSTE Alan K. Stebbens <aks@sgi.com>
ALANCITT Alan Citterman <alan@mfgrtl.com>
ALANSZ Alan Schwartz <alansz@uic.edu>
ALLENS E. Allen Smith <easmith@beatrice.rutgers.edu>
ALSCH Alan Scheinine <scheinin@crs4.it>
ALTITUDE Alex Tang <altitude@cic.net>
AMERZKY Andre Merzky <merzky@physik.hu-berlin.de>
AMOSS Amos Shapira <amoss@cs.huji.ac.il>
AMW Andrew Wilcox <andrew_wilcox@gwi.net>
ANDK Andreas K÷nig <a.koenig@franz.ww.TU-Berlin.DE>
ANDREWF Andrew Ford <andrew@icarus.demon.co.uk>
ANDYD Andy Dougherty <doughera@lafcol.lafayette.edu>
ANDYGLEW Andy Glew <glew@cs.wisc.edu>
ANTRO Antonio Rosella <anface@yahoo.com>
APML The Perl/Apache Mailing List
Mail to majordomo@apache.org with body "subscribe modperl"
AQUMSIEH Ala Qumsieh <Ala.Qumsieh@matrox.com>
ARSML The ARSperl Mailing List
See http://arsinfo.cit.buffalo.edu/ for mor info.
ASHER Aaron Sherman <ajs@ajs.com>
ASHTED Ted Ashton <ashted@southern.edu>
ASTEAM ActiveState development team <dev@ActiveState.com>
AUSCHUTZ Austin Schutz <tex@habit.com>
AWIN Ashley Winters <jql@accessone.com>
AWRIGLEY Ave Wrigley <wrigley@cre.canon.co.uk>
BARTLEY Eric Bartley <bartley@purdue.edu>
BARTS Bart Schuller <schuller@lunatech.com>
BASKAR Baskar S <baskar@india.ti.com>
BBIRTH Bill Birthisel <wcbirthisel@alum.mit.edu>
BBUM Bill Bumgarner <bbum@friday.com>
BDFOY brian d foy <comdog@computerdog.com>
BENLI Ben Lindstrom <mouring@netnet.net>
BHOLZMAN Benjamin Holzman <bholzman@bender.com>
BHUGHES Brad Hughes <brad@tgsmc.com>
BJEPS Brian Jepson <bjepson@conan.ids.net>
BLANTREWI Boris Lantrewitz <lantrewi@do.isst.fhg.de>
BMEEKINGS Brian Meekings <meekings@idi-middleware.com>
BMIDD William J. Middleton <wjm@metronet.com>
BMORGAN Bruce Morgan <morgan@networks.curtin.edu.au>
BOADLER Bo Adler <thumper@ugcs.caltech.edu>
BOBSIDE Bob Sidebotham <rns@fore.com>
BPANNIER Benjamin Pannier <karo@artcom.net>
BPETH Bill Petheram <petheram@acm.org>
BPOWERS Brent B. Powers <powers@dti.net>
BRADAPP Brad Appleton <bradapp@enteract.com>
BRIAN Brian H. Dunford-Shore <brian@ibc.wustl.edu>
BRIANSP Brian W. Spolarich <briansp@ans.net>
BROCSEIB Broc Seib <bseib@purdue.edu>
BSUGARS Benjamin Sugars <bsugars@canoe.ca>
BZAJAC Blair Zajac <blair@gps.caltech.edu>
CAADAMS Clifford A. Adams <caadams@zynet.com>
CARL Carl Declerck <carl@miskatonic.inbe.net>
CARLADLER Carl Adler <carl_adler@idx.com>
CBAIL Charles Bailey <bailey@genetics.upenn.edu>
CCWF Charles C. Fu <ccwf@bacchus.com>
CDONLEY Clayton Donley <donley@wwa.com>
CDYBED Calle Dybedahl <calle@lysator.liu.se>
CEVANS Carey Evans <c.evans@clear.net.nz>
CFRETER Craig Freter <freter@freter.com>
CGIP The CGI-Perl Developers mailing list
Mailing list is temporarily closed
CHAMAS Joshua Chamas <chamas@alumni.stanford.org>
CHGEUER Christian H. Geuer <christian.geuer@crypto.gun.de>
CHGOETZE Christian Goetze <perl@resolute.com>
CHIPS Chip Salzenberg <chip@pobox.com>
CHOUPT Chuck Houpt <choupt@world.std.com>
CHOWARTH Colin Howarth <colin@muc.de>
CHRISCHU Christian Schultze <Christian_Schultze@b.maus.de>
CHRMASTO Christopher Masto <chris@netmonger.net>
CHRWOLF Christophe Wolfhugel <wolf@pasteur.fr>
CHSTROSS Charlie Stross <charlie@antipope.org>
CHTHORMAN Chris Thorman <chris@thorman.com>
CHTTRAX Christoph T. Traxler <Christoph.T.Traxler@theo.physik.uni-giessen.de>
CJM Christopher J. Madsen <ac608@yfn.ysu.edu>
CLINTDW Clinton Wong <clintdw@netcom.com>
CMASON Chris Mason <cmason@ros.res.cmu.edu>
CNANDOR Chris Nandor <pudge@pobox.com>
COLINK Colin Kuskie <ckuskie@cadence.com>
COOPERCL Clark Cooper <coopercl@sch.ge.com>
COPEML The CORBA Perl Mailinglist
To join the list, send a mail with just the word subscribe
in the body to cope-request@lunatech.com (See
http://www.lunatech.com/cope)
CTDEAN Chris Dean <ctdean@aig.jpl.nasa.gov>
CXL Chris Leach <leachcj@bp.com>
DALEAMON Dale Amon <amon@gpl.com>
DALGL Bob Dalgleish <bob.dalgleish@sk.sympatico.ca>
DANIEL Daniel <daniel@electricrain.com>
DANKOGAI Dan Kogai <dankogai@dan.co.jp>
DANMQ Daniel M. Quinlan <danq@colorado.edu>
DAVEROTH Dave Roth <rothd@roth.net>
DBEAZLEY Dave Beazley <dmb@asator.lanl.gov>
DBIML The DBI Mailing Lists
Subscribe via http://www.fugue.com/dbi. If you can't do
that then mail to dbi-REQUEST@fugue.com and ask (the human,
Ted Lemon) to subscribe you to one or more of dbi-announce,
dbi-users, or dbi-dev.
DBONNER David Bonner <dbonner@cs.bu.edu>
DBRESH Doug Breshears <breshear@eonet.com>
DCARRIGAN Dave Carrigan <Dave.Carrigan@iplenergy.com>
DCEPML The DCE-Perl mailing list
Mail to majordomo@lists.csupomona.edu with body "subscribe
dce-perl <your-address>"
DCONWAY Damian Conway <damian@cs.monash.edu.au>
DDUMONT Dominique Dumont <Dominique_Dumont@grenoble.hp.com>
DENWA Dennis Watson <dwatson@netguide.com>
DEVEN Deven T. Corzine <deven@ties.org>
DEWEG Douglas E. Wegscheid <wegscd@whirlpool.com>
DHUNT Douglas Hunt <dhunt@ucar.edu>
DIONALM Dion Almaer <dion@member.com>
DJBECKETT Dave Beckett <D.J.Beckett@ukc.ac.uk>
DKWILSON Damion K. Wilson <dkw@rcm.bm>
DMACKS Daniel Macks <dmacks@netspace.org>
DMEGG David Megginson <dmeggins@microstar.com>
DMO Darryl Okahata <darrylo@sr.hp.com>
DMR Dean Roehrich <roehrich@cray.com>
DNAD Dave Nadler <nadler@ug.eds.com>
DOMO Dominic Dunlop <domo@slipper.ip.lu>
DOUGB Doug Bagley <doug@bagley.org>
DOUGL Douglas Lankshear <DougL@ActiveState.com>
DOUGM Doug MacEachern <dougm@pobox.com>
DSB David Boyce <dsb@world.std.com>
DSHEPP Doug "Sirilyan" Sheppard <sirilyan@link.ca>
DSOUFLIS Dimitrios Souflis <dsouflis@altera.gr>
DSTALDER Darren Stalder <torin@daft.com>
DSUGAL Dan Sugalski <sugalskd@osshe.edu>
DTOWN David M. Town <dtown@fore.com>
DURIST Dan Urist <durist@world.std.com>
DVKLEIN Daniel V. Klein <dan@klein.com>
EAYNG Eric Young <eay@mincom.oz.au>
EDJORDAN Ed Jordan <ed@fidalgo.net>
EDLIU Edward Liu <dhliu@solar.csie.ntu.edu.tw>
EESTABROO Eric Estabrooks <estabroo@ispn.com>
EGROSS Etienne Grossmann <etienne@isr.isr.ist.utl.pt>
EHOOD Earl Hood <ehood@medusa.acs.uci.edu>
ELMAR Elmar Schalueck <Elmar.Schalueck@rz.ruhr-uni-bochum.de>
ENEGAARD Eric Negaard <lmdejn@lmd.ericsson.se>
ERICA Eric Arnold <Eric.Arnold@corp.sun.com>
ERYQ Eryq <eryq@zeegee.com>
ESR Eric S. Raymond <esr@snark.thyrsus.com>
EVANPRO Evangelo Prodromou <evangelo@endcontsw.com>
EWALKER Edward Walker <ewalker@platform.com>
FDESAR Francois Desarmenien <desar@club-internet.fr>
FIMM Dennis Taylor <corbeau@execpc.com>
FIS Frank Ian Smith <frank@ns.array.ca>
FJH Frederick Hirsch <fjh@alum.mit.edu>
FLEITNER Felix von Leitner <leitner@math.fu-berlin.de>
FLETCH Mike Fletcher <fletch@phydeaux.org>
FMC Frederic Chauveau <fmc@pasteur.fr>
FORS The "Friends of Randal Schwartz" mailing list
Mail to majordomo@teleport.com with body "subscribe
fors-discuss <your-address>"
FPIVARI Fabrizio Pivari <Fabrizio.Pivari@agip.it>
FRAMM Frederik Ramm <ramm@rz.uni-karlsruhe.de>
FRANCOC Franco Callari <franco@cim.mcgill.ca>
FSG Felix Sebastian Gallo <fsg@ultranet.com>
FTASSIN Fabien Tassin <tassin@eerie.fr>
GAAS Gisle Aas <aas@sn.no>
GABOR Gßbor Egressy <gabor@vmunix.com>
GAND Greg Anderson <greg@ftp.netgate.net>
GARY Gary Howland <gary@hotlava.com>
GBACON Greg Bacon <gbacon@cs.uah.edu>
GBARR Graham Barr <gbarr@pobox.com>
GBAUER Georg Bauer <gb@hugo.westfalen.de>
GBOSS Greg Bossert <bossert@ecto.org>
GDAMORE Garrett D'Amore <garrett@yavin.org>
GEHIC Gerard Hickey <hickey@ctron.com>
GENJISCH Genji Schmeder <genji@jps.net>
GFLOHR Guido Flohr <gufl0000@stud.uni-sb.de>
GGONTER Gerhard Gonter <gonter@wu-wien.ac.at>
GJB Geoffrey Broadwell <habusan2@sprynet.com>
GKNOPS Gerd Knops <gerti@BITart.com>
GLENNWOOD Glenn Wood <glenn@savesmart.com>
GLOVER Mike Glover <glover@credit.erin.utoronto.ca>
GMLEWIS Glenn M. Lewis <glenn@gmlewis.com>
GNAT Nathan Torkington <gnat@frii.com>
GOSSAMER Gossamer <gossamer@tertius.net.au>
GREGFAST Greg Fast <gdf@imsa.edu>
GREGG Gregg Helt <gregg@fruitfly.berkeley.edu>
GRICHTER Gerald Richter <richter@ecos.de>
GSAR Gurusamy Sarathy <gsar@umich.edu>
GSM Joe Marzot <gmarzot@baynetworks.com>
GSPAF Gene Spafford <spaf@cs.purdue.edu>
GSPIVEY Gary Spivey <spivey@romulus.ncsc.mil>
GTHYNI G÷ran Thyni <goran@bildbasen.se>
GUYDX Guy Decoux <decoux@moulon.inra.fr>
GWARD Greg Ward <greg@bic.mni.mcgill.ca>
HAKANARDO Hakan Ardo <hakan@debian.org>
HAKESTLER Hans A. Kestler <hans.kestler@medizin.uni-ulm.de>
HALPOM Hal Pomeranz <pomeranz@netcom.com>
HAYASHI Hiroo HAYASHI <hiroo.hayashi@computer.org>
HIGHTOWE Lester Hightower <hightowe@united-railway.com>
HMBRAND H. Merijn Brand <PROCURA_BV@CompuServe.com>
HMUELLER Hanno Mueller <hmueller@mail.kabel.de>
HPALM Hartmut Palm <palm@gfz-potsdam.de>
HTCHAPMAN H. Todd Chapman <htchapma@oakland.edu>
HTOUG Henrik Tougaard <ht@datani.dk>
HVDS Hugo van der Sanden <hv@crypt.compulink.co.uk>
IANC Ian Clatworthy <ianc@mincom.co>
IANPX Ian Phillipps <ian@dial.pipex.com>
IFLAN Ian Flanigan <flan@cs.wustl.edu>
IGUTHRIE Ian Guthrie <IGuthrie@aol.com>
IKETRIS Ilya Ketris <ilya@gde.to>
IKLUFT Ian Kluft <ikluft@cisco.com>
ILYAZ Ilya Zakharevich <ilya@math.ohio-state.edu>
INGOMACH Ingo Macherius <Ingo.Macherius@tu-clausthal.de>
JACKS Jack Shirazi <JackS@GemStone.com>
JAKE Jake Donham <jaked@well.com>
JAMCC Jamie McCarthy <jamie@voyager.net>
JANL Nicolai Langfeldt <janl@math.uio.no>
JANPAZ Jan Pazdziora <adelton@fi.muni.cz>
JARW John A.R. Williams <J.A.R.Williams@aston.ac.uk>
JASONS Jason E. Stewart <jasons@cs.unm.edu>
JBAKER Jeffrey Baker <jeff@godzilla.tamu.edu>
JBODNAR Jason Bodnar <jbodnar@tivoli.com>
JCMURPHY Jeff Murphy <jcmurphy@smurfland.cit.buffalo.edu>
JCOSTOM Jason Costomiris <jcostom@sjis.com>
JCRISTY John Cristy <cristy@sympatico.org>
JDALLMAN John Dallman <jgd@cix.compulink.co.uk>
JDUNCAN James Duncan <jduncan@hawk.igs.net>
JENDA Jan Krynicky <Jenda@McCann.cz>
JFITZ James FitzGibbon <james@ican.net>
JFRIEDL Jeffrey Friedl <jfriedl@omron.co.jp>
JGARRISON Jim Garrison <jhg@acm.org>
JGBISHOP Jeremy G. Bishop <jeremy@evolution.com>
JGLICK Jesse N. Glick <jglick@sig.bsh.com>
JGROENVEL John D Groenveld <groenveld@acm.org>
JHA John Aughey <jha@aughey.com>
JHI Jarkko Hietaniemi <jhi@iki.fi>
JHORWITZ Jeff Horwitz <jhorwitz@umich.edu>
JHOWELL Jon Howell <jonh@cs.dartmouth.edu>
JHPB Joseph H. Buehler <jhpb@sarto.gaithersburg.md.us>
JJDG Hans de Graaff <graaff@xs4all.nl>
JKAST Jason Kastner <jkastner@oboe.calpoly.edu>
JKEGL Jeffrey Kegler <jeffrey@best.com>
JKODIS John Kodis <kodis@jagunet.com>
JLBEC Joel Becker <jlbec@ocala.cs.miami.edu>
JLEVAN Jerry LeVan <levan@eagle.eku.edu>
JLLEROY Jean-Louis Leroy <jll@skynet.be>
JMAHAN J. Michael Mahan <mahanm@nextwork.rose-hulman.edu>
JMM John Macdonald <jmm@elegant.com>
JMURPHY Joel Murphy <jmurphy+pause@cnu.acsu.buffalo.edu>
JNH Joseph N. Hall <joseph@5sigma.com>
JNOLAN John Nolan <jnolan@n2k.com>
JOCASA Joe Casadonte <joc@netaxs.com>
JOEHIL Joe Hildebrand <joe.hildebrand@twcable.com >
JOHNH John Heidemann <johnh@isi.edu>
JOHNL Jonathan Leffler <j.leffler@acm.org>
JONG Jong Park <jong@mrc-lmb.cam.ac.uk>
JONO Jon Orwant <orwant@media.mit.edu>
JOSERODR Jose A. Rodriguez <Jose.Rodriguez@ac.upc.es>
JPC Jan-Pieter Cornet <johnpc@xs4all.nl>
JPRAVETZ Jim Pravetz <jpravetz@adobe.com>
JPRIT Joshua N. Pritikin <bitset@mindspring.com>
JROGERS Jay Rogers <jay@rgrs.com>
JROWE Jeff Rowe <j.p.rowe@larc.nasa.gov>
JSIRACUSA John Siracusa <siracusa@mindspring.com>
JSTOF John Stoffel <john@wpi.edu>
JSWARTZ Jonathan Swartz <jswartz@cmp.com>
JTOBEY John Tobey <jtobey@user1.channel1.com>
JTURNER James Turner <james@csmonitor.com>
JV Johan Vromans <jvromans@squirrel.nl>
JVENIER John Venier <venier@odin.mdacc.tmc.edu>
JWAT John Watson <jwatson@cnj.digex.net>
JWIED Jochen Wiedmann <joe@ispsoft.de>
JWIEGLEY John Wiegley <johnw@oneworld.new-era.com>
JZAWODNY Jeremy D. Zawodny <jzawodn@wcnet.org>
KDOWNEY Kyle Downey <kdowney@xline.com>
KENFOX Ken Fox <fox@vulpes.com>
KENHOLM Kenneth Alexander Holm III <rets@meta3.com>
KENSHAN Chung-chieh Shan <ken@digitas.harvard.edu>
KEVINA Kevin Atkinson <kevina@clark.net>
KGB Karl Glazebrook <kgb@aaoepp.aao.gov.au>
KJALB Kenneth Albanowski <kjahds@kjahds.com>
KJOHNSON Kevin Johnson <kjj@pobox.com>
KMACLEOD Ken MacLeod <ken@bitsko.slc.ut.us>
KONDO Yoshiyuki KONDO <cond@lsi-j.co.jp>
KRISHPL Krishna Shamu Sethuraman <krishpl@shamu.engr.sgi.com>
KSB Simon Berg <karl@it.kth.se>
KSTAR Kurt D. Starsinic <kstar@chapin.edu>
KTHOMAS Kenny Thomas <adminkt@flint.umich.edu>
KTORP Kristian Torp <torp@cs.auc.dk>
KWILLIAMS Ken Williams <ken@forum.swarthmore.edu>
LDACHARY Loic Dachary <loic@ceic.com>
LDS Lincoln D. Stein <lstein@genome.wi.mit.edu>
LEIFHED Leif Hedstrom <leif@netscape.com>
LEITE Pedro Leite <leite@ua.pt>
LFINI Luca Fini <lfini@arcetri.astro.it>
LMJM Lee McLoughlin <lmjm@icparc.ic.ac.uk>
LMOLNAR Laszlo Molnar <molnarl@cdata.tvnet.hu>
LSTAF Lennart Staflin <lenst@lysator.liu.se>
LUISMUNOZ Luis Munoz <lem@cantv.net>
LUKKA Tuomas J. Lukka <Tuomas.Lukka@Helsinki.FI>
LUSOL Stephen O. Lidie <sol0@Lehigh.EDU>
LUTHERH Luther Huffman <lutherh@stratcom.com>
LWALL Larry Wall. Author of Perl. Busy man. <larry@wall.org>
LWWWP The libwww-perl mailing list
Mail to libwww-perl-REQUEST@ics.uci.edu with body
"subscribe"
MAHEX Mark "Hex" Hershberger <mah@eecs.tulane.edu>
MAK Martijn Koster <mak@surfski.webcrawler.com>
MARCLANG Marc Langheinrich <marclang@cs.washington.edu>
MARCP Marc Paquette <Marc.Paquette@crim.ca>
MARKB Mark Biggar <mab@wdl.loral.com>
MARKC Mark Constable <markc@goldcoast.org>
MARKIM Mark A. Imbriaco <mark@ITRIBE.NET>
MARKM Mark Mielke <markm@nortel.ca>
MARKPRIOR Mark Prior <mrp@connect.com.au>
MARTINB Martin Bartlett <martin@nitram.demon.co.uk>
MATKIN Matz Kindahl <matkin@docs.uu.se>
MATTW Matthew M. Wright <mattw@worldwidemart.com>
MAURICE Maurice Aubrey <maurice@hevanet.com>
MCPL The MacPerl mailing list
Mail to mac-perl-REQUEST@iis.ee.ethz.ch with body
"subscribe". There is an announcement-only low-volume
mailing list too with the subscription address
mac-perl-announce-request@iis.ee.ethz.ch.
MDARWIN Matthew Darwin <matthew@davin.ottawa.on.ca>
MENGEL Marc W. Mengel <mengel@fnal.gov>
MERGL Edmund Mergl <E.Mergl@bawue.de>
MERLYN Randal L. Schwartz <merlyn@stonehenge.com>
MEWP Michael Peppler <mpeppler@mbay.net>
MFUHR Michael Fuhr <mfuhr@dimensional.com>
MGH Marc Hedlund <hedlund@best.com>
MGRABNAR Matija Grabnar <matija.grabnar@arnes.si>
MHM Mike Moran <db2perl@austin.ibm.com>
MICB Malcolm Beattie <mbeattie@sable.ox.ac.uk>
MICHAELD Michael D. Dowling <michaeld@cnet.com>
MIKEDLR Michael De La Rue <miked@ed.ac.uk>
MIKEH Mike Heins <mikeh@iac.net>
MIKEKING Michael King <mike808@mo.net>
MIKESTOK Mike Stok <mike@stok.co.uk>
MIVKOVIC Milivoj Ivkovic <mi@alma.ch>
MJAEG Michal Jaegermann <michal@ellpspace.math.ualberta.ca>
MJD Mark-Jason Dominus <mjd-perl-pause@plover.com>
MJS Michael Smith <mjs@iii.co.uk>
MKOSSATZ Max Kossatz <kossatz@thing.at>
MKRUSE Matt Kruse <mkruse@netexpress.net>
MLEHMANN Marc Lehmann <pcg@goof.com>
MMML The MakeMaker mailing list
Mail to makemaker-REQUEST@franz.ww.tu-berlin.de with body
"subscribe"
MORTY Mordechai Abzug <mabzug1@gl.umbc.edu>
MPECK Martyn Peck <mwp@mwpnet.com>
MPIOTR Michael Piotrowski <mxp@linguistik.uni-erlangen.de>
MRG Matthew Green <mrg@mame.mu.oz.au>
MRJC Martin RJ Cleaver <Martin.Cleaver@BCS.org.uk>
MRKAE Mark R. Kaehny <kaehny@execpc.com>
MSCHILLI Michael Schilli <mschilli1@aol.com>
MSCHWARTZ Martin Schwartz <schwartz@cs.tu-berlin.de>
MSCHWERN Michael G Schwern <schwern@rt1.net>
MSHLD Michael Shields <shields@crosslink.net>
MSHOYHER Mike Shoyher <msh@apache.lexa.ru>
MSOLOMON Mark Solomon <msolomon@seva.net>
MSULLIVAN Michael P. Sullivan <mps@discomsys.com>
MTHURN Martin Thurn <MartinThurn@iname.com>
MUIR David Muir Sharnoff <muir@idiom.com>
MVERB Martien Verbruggen <mgjv@comdyn.com.au>
NEERI Matthias Ulrich Neeracher <neeri@iis.ee.ethz.ch>
NEILB Neil Bowers <neilb@cre.canon.co.uk>
NEMWS Nem W Schlecht <nem@abattoir.cc.ndsu.nodak.edu>
NI-S Nick Ing-Simmons <nick@ni-s.u-net.com>
NICO Nick Gianniotis <nico@acm.org>
NIGELM Nigel Metheringham <nigel@pobox.com>
NIKIP Nikolay Pelov <nikip@iname.com>
NJENSEN Neil Jensen <njensen@habaneros.com>
NJLEON Nicholas J. Leon <nicholas@binary9.net>
NMONNET Nicolas Monnet <nico@idnet.fr>
NNEUL Nathan Neulinger <nneul@umr.edu>
NREICHEN Nils Reichen <reichen@eicn.ch>
NTHIERY Nicolas ThiΘry <Nicolas.Thiery@ens.fr>
NVPAT Nathan V. Patwardhan <nvp@ora.com>
NWALSH Norman Walsh <norm@berkshire.net>
NWCLARK Nicholas.Clark <Nicholas.Clark@liverpool.ac.uk>
NWINT Neil Winton <winton_neil@jpmorgan.com>
OCROW Owen Crow <ocrow@crl.com>
OEVANS O'Shaughnessy Evans <oevans@acm.org>
OKAMOTO Jeff Okamoto <okamoto@corp.hp.com>
OMKELLOGG Oliver M. Kellogg <Oliver.Kellogg@vs.dasa.de>
ORENBK Oren Ben-Kiki <oren@capella.co.il>
OTAYLOR Owen Taylor <owt1@cornell.edu>
OTISG Otis Gospodnetic <Otis.Gospodnetic@middlebury.edu>
OZAWA OZAWA Sakuro <crouton@po.shiojiri.ne.jp>
P5P The Perl5 Porters Mailing List
Mail to perl5-porters-REQUEST@perl.org with body
"subscribe"
PACKRATS The Packrats Mailing List
Mail to majordomo@cise.ufl.edu with body "subscribe
perl-packrats <your address>"
PARKER Michael Parker <parker@austx.tandem.com>
PATM Pat Martin <pat@bronco.advance.com>
PAULG Paul Gampe <paulg@twics.com>
PEARCEC Christian Pearce <pearcec@dml0.wcupa.edu>
PEASE Mark Pease <peasem@primenet.com>
PEM Peter Murray <pem@po.cwru.edu>
PERLDL The Perl Data Language Mailing List
Mail subscription requests to
perldl-request@jach.hawaii.edu with body "subscribe"
PETERGAL Peter Gallasch <gal@adv.magwien.gv.at>
PGPML The PGP Module Mailing List
Mail to majordomo@dbc-mifco.com with body "subscribe
perl-pgp <your-address>"
PGUEN Philip Guenther <guenther@gac.edu>
PHENSON Paul B. Henson <henson@acm.org>
PHILIPA Philip Aston <philipa@parallax.co.uk>
PHILIPM Philip Mikal <ventolin@earthlink.net>
PHOENIX Tom Phoenix <rootbeer@teleport.com>
PHOENIXL Scott <Phoenixl@aol.com>
PKUTS Peter Kutschera <peter@zditr1.arcs.ac.at>
PLDAP Perl LDAP mailing list
Mail subscription requests to
perl-ldap-REQUEST@mail.med.cornell.edu with body
"subscribe"
PLISTER Peter Lister <p.lister@cranfield.ac.uk>
PMH Peter Haworth <pmh@edison.ioppublishing.com>
PMKANE Patrick Michael Kane <modus-cpan@pr.es.to>
PMQS Paul Marquess <pmarquess@bfsec.bt.co.uk>
PRATP Pratap Pereira <pereira@ee.eng.ohio-state.edu>
PROWELL Peter Rowell <peter@thirdeye.com>
PRYAN Patrick Ryan <pgryan@geocities.com>
PSEIBEL Peter Seibel <seibel@organic.com>
PSHARPE Paul Sharpe <paul@miraclefish.com>
PTILL Peter Tillemans <pti@pandora.be>
PVANDRY Phillip Vandry <vandry@mlink.net>
PVERD Philippe Verdret <philippe.verdret@eurolang.fr>
PVHP Peter Prymmer <pvhp@lns62.lns.cornell.edu>
PWO Peter W. Osel <pwo@perl.org>
QUONG Russell W Quong <quong@best.com>
RAM Raphael Manfredi <Raphael_Manfredi@grenoble.hp.com>
RAP Ryan Alyn Porter <rap@endymion.com>
RAVN Thorbjoern Ravn Andersen <ravn@mip.ou.dk>
RBERJON Robin Berjon <robin@idl-net.com>
RBOW Richard Bowen <rbowen@rcbowen.com>
RCAPUTO Rocco Caputo <troc@shadow.net>
RDO Robert Olson <olson@mcs.anl.gov>
REDEN Robert Eden <reden@strategiconline.com>
RFOLEY Richard Foley <a1503c@email.mot.com>
RHNELSON Rolf Harold Nelson <rolf@usa.healthnet.org>
RHOFER Robert Hofer <hofer@informatik.uni-muenchen.de>
RIK Rik Harris <rik.harris@fulcrum.com.au>
RJRAY Randy J Ray <rjray@tsoft.com>
RJS Robert J Seymour <rseymour@rseymour.com>
RKOBES Randy Kobes <randy@theory.uwinnipeg.ca>
RMOSE Russell Mosemann <mose@ns.ccsn.edu>
RNAIMA Reza Naima <reza@reza.net>
ROSCH Roderick Schertler <roderick@argon.org>
RRA Russ Allbery <rra@stanford.edu>
RSAVAGE Ron Savage <rpsavage@ozemail.com.au>
RSE Ralf S. Engelschall <rse@engelschall.com>
RSI Rajappa Iyer <rsi@earthling.net>
RURBAN Reini Urban <rurban@sbox.tu-graz.ac.at>
RVA Rodger V. Anderson <rodger@boi.hp.com>
RWALKER Roland Walker <walker@ncbi.nlm.nih.gov>
SAM Simon Matthews <sam@peritas.com>
SAMPO Sampo Kellomaki <sampo@neuronio.pt>
SBALA S Balamurugan <sbm@india.ti.com>
SBECK Sullivan Beck <sbeck@cise.ufl.edu>
SBURKE Sean M. Burke <sburke@netadventure.net>
SCOOPER Simon Cooper <sc@sgi.com>
SCOTTVR Scott VanRavenswaay <scottvr@netcomi.com>
SDOWD Sean Dowd <ssd@ticnet.com>
SEB Steven Brenner <S.E.Brenner@bioc.cam.ac.uk>
SEMM Steve Emmerson <support@unidata.ucar.edu>
SFARRELL Stephen Farrell <steve@farrell.org>
SFINK Steve A Fink <sfink@cs.berkeley.edu>
SGEL Sergio Gelato <gelato@oort.ap.sissa.it>
SGMIANO Stephen G. Miano <stevem@mindspring.com>
SHARI Davide Migliavacca <davide.migliavacca@inferentia.it>
SHAWNPW Shawn P. Wallace <shawn@as220.org>
SHERWOOD Steve Sherwood <pariah@netcomuk.co.uk>
SHGUN Shishir Gundavaram <shishir@ruby.ora.com>
SHIGIO Shigio Yamaguchi <shigio@wafu.netgate.net>
SHIKONO Shinji KONO <kono@ie.u-ryukyu.ac.jp>
SHUTTON Scott Hutton <shutton@pobox.com>
SKANE Steve Kane <skane@cse.psu.edu>
SKIMO Sven Verdoolaege <skimo@kotnet.org>
SKINGTON Sam Kington <sam@illuminated.co.uk>
SKUNZ Steven L. Kunz <skunz@iastate.edu>
SMCCAM Stephen McCamant <alias@mcs.com>
SMORTON Sanford Morton <smorton@pobox.com>
SMPILL Steve Pillinger <S.M.Pillinger@cs.bham.ac.uk>
SNEEX Bill Jones <sneex@fccj.org>
SOVA Vladimir Sovetov <sova@kpbank.ru>
SPIDB Spider Boardman <spider@orb.nashua.nh.us>
SPP Stephen P Potter <spp@colltech.com>
SPURKIS Steve Purkis <spurkis@engsoc.carleton.ca>
SREZIC Slaven Rezic <eserte@cs.tu-berlin.de>
SRIEHM Stephen Riehm <Stephen.Riehm@pc-plus.de>
SRIRAM Sriram Srinivasan <sriram@weblogic.com>
SRZ Stephen Zander <gibreel@pobox.com>
STANM Stan Melax <melax@bioware.com>
STBEY Steffen Beyer <sb@engelschall.com>
STEVENSL Steven Slegel <stevensl@ccpl.carr.lib.md.us>
STLACY Stacy Lacy <stacy-lacy@worldnet.att.net>
SVENH Sven Heinicke <sven@zen.org>
SWMCD Steven McDougall <swmcd@world.std.com>
SZECK Steve Zeck <saintly@innocent.com>
TBOUTELL Thomas Boutell <boutell@boutell.com>
TBRADFUTE Todd Bradfute <bradfute@pflugerville.org>
TEKE Torsten Ekedahl <teke@matematik.su.se>
TERDOEST Hugo WL ter Doest <terdoest@cs.utwente.nl>
TIBBS Jason Tibbitts <tibbs@hpc.uh.edu>
TIMB Tim Bunce <Tim.Bunce@ig.co.uk>
TIMPOTTER Tim Potter <tpot@acsys.anu.edu.au>
TIMPX Tim Goodwin <tim@uunet.pipex.com>
TKML The Tk Perl Mailing list
Mail to majordomo@lists.stanford.edu with body "subscribe
ptk <your-address>"
TLP Travis L Priest <T.L.Priest@LaRC.NASA.GOV>
TOMC Tom Christiansen <tchrist@mox.perl.com>
TOMFA Tom Fawcett <fawcett@nynexst.com>
TOMH Tom Horsley <tom@ssd.csd.harris.com>
TOMHUGHES Tom Hughes <tom@compton.demon.co.uk>
TOMZO Tom Zoerner <Tom.Zoerner@informatik.uni-erlangen.de>
TRIAS Fernando Trias <fernando@pedestalsoftware.com>
TRIEMER Thomas Riemer <triemer@apt4g.a3nyc.com>
TROCKIJ Jim Trocki <trockij@transmeta.com>
TSANDERS Tony Sanders <sanders@bsdi.com>
TSPIN Tom Spindler <dogcow@umich.edu>
TWENRICH Thomas Wenrich <wenrich@ping.at>
TYEMQ Tye McQueen <tye@metronet.com>
ULPFR Ulrich Pfeifer <pfeifer@wait.de>
UWEH Uwe Hollerbach <uweh@bu.edu>
VKHERA Vivek Khera <vivek@khera.org>
VMSML The VMSPerl Mailing list
Mail subscription requests to maintainer at
<bailey@genetics.upenn.edu>
WATANABE Hirofumi Watanabe <watanabe@ase.ptg.sony.co.jp>
WAYNEDAV Wayne Davison <wayne@clari.net>
WIN32 The Perl for Win32 Mailing list
Mail to majordomo@mail.hip.com with body "subscribe
Perl-Win32 <your-address>"
WINKO Winfried Koenig <win@in.rhein-main.de>
WPMOORE W. Phillip Moore <wpm@ms.com>
WPS William Setzer <William_Setzer@ncsu.edu>
WRW William R Ward <wrw@bayview.com>
WSCOT Wayne Scott <wscott@ichips.intel.com>
WTOMPSON Wayne Tompson <Wayne.Thompson@Ebay.Sun.COM>
WYTAN Wei-Yuen Tan <Wei-Yuen_Tan@hip.com>
YASU Yasushi Saito <yasushi@cs.washington.edu>
YENYA Jan "Yenya" Kasprzak <kas@informatics.muni.cz>
YLU Luke Y. Lu <ylu@mail.utexas.edu>
YVESP Yves Paindaveine <yp@gr.osf.org>
ZENIN Byron Brummer <zenin@bawdycaste.org>