The Perl 5 Module List Maintained by Tim Bunce and Andreas Koenig ; $Revision: 3.104 $ $Date: 2001/05/25 19:49:40 $ -*- coding:utf-8 -*- 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 5) Namespace Coordination 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 25) Bundles 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 4.1) IETF - Internet Engineering Task Force (RFCs) 4.2) ITU - International Telegraph Union (X.*) 4.3) ISO - International Standards Organization (ISO*) Part 5 - Who's Who and What's Where 5.1) Information / Contact Reference Details 5.2) Perl Frequently Asked Questions (FAQ) Files _________________________________________________________________ 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 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. CPAN is a worlswide network of mirrors and you can find your closest mirror in the file http://www.cpan.org/SITES.html 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 . 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 fed into CPAN on a semi-regular basis. Its relative path within a CPAN mirror is in modules/00modlist.long.html . Editorial Information and Copyright This document is Copyright (c) 1997-2000 by Tim Bunce and Andreas Koenig. 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. A little background information... I (Tim) created the Module List in August 1994 and maintained it manually till April 1996. By that time Andreas had implemented the Perl Authors Upload Server (PAUSE) and it was happily feeding modules through to the CPAN archive sites (see http://www.cpan.org/modules/04pause.html for details). Since PAUSE held a database of module information which could be maintained by module authors it made sense for the module listing part of the Module List to be built from that database. In April 1996 Andreas took over the automatic posting of the Module List and I now maintain the other parts of the text. We plan to add value to the automation over time. 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('',) || 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 an underscore in the top level name 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: 3.104 $=~/\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 http://www.cpan.org/modules/04pause.html or upload to: ftp://pause.kbx.de/incoming 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: 5) Namespace Coordination The maintainers of the module list are not the Internic for perl namespaces. They do neither sell namespaces nor can they establish property rights. What they try to do is to minimize namespace clashes and maximize usablility of the CPAN archive by setting up a catalogue of modules and control the indexers. Time permitting, they will also try to give advice for what they think is a proper usage of the namespace. It is an important part of the namespace concept that the module list maintainers do not guarantee to you that somebody else won't use the, say, Foo::Bar namespace. The upload area is not censored except for abuse. People are free to upload any modules they like. Instead, there are several levels of protection for your namespaces: a) The most important is the module list which actually lists and proclaims your namespace. b) The second is the indexing mechanism of the CPAN. Modules are indexed on a first-come-first-serve basis. The module namespace that is uploaded for the first time ever gets indexed, but not the module of the second one who tries to use the same namespace. c) As the whole process is trying to benefit the community, all parties are subject to a wider monitoring within the community. This is sometimes referred to as security by visibility. d) So the next level of namespace protection is the common sense. Your own common sense. Help to save the world. If you get the impression that something goes wrong with regard to namespaces, please write to modules@perl.org and let them know. e) The perhaps most interesting namespace protection is provided by the perl symbol table itself. A namespace Foo:: is just a package name and its relationship to a namespace Foo::Bar:: is not predetermined whatsoever. The two namespaces can be closely or loosely related or not related at all, but what's most important, they can be writen by different authors who may work rather independently from each other. So if you have registered any namespace, it does not mean that you own the whole namespace tree that starts there. If you are registered as the contact for Foo::Bar, you are not necessarily also associated with Foo::Bar::Baz. f) In a few rare cases the module list people restrict indexing of certain categories. For example: DBI::* under the control of Tim Bunce Sun::* under the control of Sun Microsystems 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 DSLIP Description Info ------------- ----- -------------------------------------------- ----- Fcntl Sdcfp Defines fcntl() constants (see File::Lock) JHI Where the 'DSLIP' 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 + n - no interface at all (huh?) + r - some use of unblessed References or ties + O - Object oriented using blessed references and/or inheritance * P - Public License * + p - Standard-Perl: user may choose between GPL and Artistic + g - GPL: GNU General Public License + l - LGPL: "GNU Lesser General Public License" (previously known as "GNU Library + General Public License") + b - BSD: The BSD License + a - Artistic license alone + o - other (but distribution allowed without restrictions) DISCLAIMER: The status of the Public License field is there for informational purpose only and does not constitute a legal binding of any kind. To obtain proper information about the Licencing terms of a module and its accompanying files, please refer to the distribution of the modules or contact the author as appropriate. Please inform modules@perl.org if you encounter any mismatch between the contents of the Public License field and what the distribution actually says about it. 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 DSLIP 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 P5P Taint bdpf? Utilities related to tainting PHOENIX Perl Pragmatic Modules 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 Experimental pragmatic modules live in the ex:: namespace ex:: ::implements RdpO? Study in Polymorphism PDCAWLEY ::interface RdpO? Another study in polymorphism PDCAWLEY ::override Rdpf? perl pragma to override core functions CTWETEN ::caution bdpn? Same as use warnings; use strict; YVES ex::constant:: ::vars Rdph? Perl pragma to create readonly variables CTWETEN Perl Language Extensions Alias bdcf? Convenient access to data/code via aliases GSAR End RdpO? Generalized END {}. ABIGAIL Error adpO? Error/exception handling in an OO-ish way UARUN NEXT RdpO? Perl5 implementation of NEXT (RFC190) DCONWAY Perl adcO? Create Perl interpreters from within Perl GSAR Protect bdpf? declare subs private or member JDUNCAN Safe SdcO? Restrict eval'd code to safe subset of ops MICB Softref bdcf? Extension for weak/soft referenced SVs ILYAZ Attribute:: ::Handlers RdpO? Simpler definition of attribute handlers DCONWAY ::Types RdpO? Attributes that confer type on variables DCONWAY ::Memoize RdpOp Attribute interface to Memoize.pm MARCEL ::TieClasses RdpOp attribute wrappers for CPAN Tie classes MARCEL ::Abstract RdpOp implement abstract methods with attributes MARCEL Exporter:: ::Import Rdpn? Alternate symbol exporter GARROW ::Options adpO? Extends Exporter to handle use-line options YSTH ::PkgAlias adpf? Load a module into multiple namespaces JDPORTER Inline bdp?? Write Perl subroutines in other languages INGY Inline:: ::CPR adpn? C Perl Run - Embed Perl in C, ala Inline INGY ::C bdpn? Write Perl subroutines in C INGY ::CPP bdpO? Easy implementation of C++ extensions NEILW ::Python adcO? Easy implementation of Python extensions NEILW ::Tcl adcf? Write Perl subroutines in Tcl RRS Regexp adcO? An OO interface to regular expressions GBARR Regexp:: ::Common RdpO? Provide commonly requested regular expr. DCONWAY ::Shellish RdpO? Shell-like regular expressions RBS ::Func adpf? Replace =~, !~, m//, s/// with functions NWIGER Safe:: ::Hole bdcO? Exec subs in the original package from Safe SEYN Symbol:: ::Table RdpO? OO interface to package symbols GARROW The Perl Compiler B aucO? The Perl Compiler MICB O aucO? Perl Compiler frontends MICB B:: ::Fathom bdpO? Estimate the readability of Perl code KSTAR ::Graph bdpr? Perl Compiler backend to diagram OP trees SMCCAM ::LexInfo bdcO? Show info about subroutine lexical variables DOUGM ::Size bdcO? Measure size of Perl OPs and SVs DOUGM ::TerseSize bdpO? Info about ops and their (estimated) size DOUGM 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 ::Simple RdpO? Simplified source filtering DCONWAY Thread support (note that these are experimental, i.e. pre-alpha) Thread cuhO? Manipulate threads in Perl (EXPERIMENTAL) P5P Thread:: ::Group bdph? Wait()-like and grouping functions DSUGAL ::IO i ? IO routines DSUGAL ::Object i ? OO routines DSUGAL ::Pool bdpO? Worker pools to run Perl code asynchronously MICB ::Queue cuph? Thread-safe queues P5P ::Semaphore cuph? Thread-safe semaphores P5P ::Signal cuhh? A thread which runs signal handlers reliably P5P ::Specific cuhh? Thread-specific keys P5P IThread:: ::Mutex i???? ? ABERGMAN ::Semaphore i???? ? ABERGMAN ::Queue i???? ? ABERGMAN 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 ::DocBook adpO? convert POD to and from DocBook MBERENDS ::HTML cdpr? converter to HTML KJALB ::HTML2Pod RdpO? Translate HTML into POD SBURKE ::Hlp RdpO? Convert POD to formatted VMS Help text PVHP ::Index cdpr? index generator KJALB ::LaTeX bdpOp Converts pod to latex with Pod::Parser TJENNESS ::Latex cdpr? converter to LaTeX KJALB ::Lyx adpO? A pod to LyX format conversion class RICHARDJ ::MIF adpO? converter to FrameMaker MIF JNH ::Man cdpr? converter to man page KJALB ::PP adpO? A Pod pre-processor RAM ::Parser bdpO? Base class for parsing pod syntax BRADAPP ::Pdf bdpf? Converter to PDF AJFRY ::Pod cdpr? converter to canonical pod KJALB ::RTF cdpr? converter to RTF KJALB ::Rtf RdpO? Converter from POD to Rich Text Format PVHP ::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 ::XML RdpO? Generate XML from POD MSERGEANT ::Tree RdpO? Create a static syntax tree for a POD SWMCD ::Checker RdpO? Check pod documents for syntax errors BRADAPP Perl6:: ::Variables RdpO? Perl 6 variable syntax for Perl 5 DCONWAY 3) Development Support Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- AutoSplit Supf? Splits modules into files for AutoLoader P5P Bleach RdpO? For really clean programs DCONWAY Continuus adpO? Interface to Continuus Code Management tool HENKE Coy Rdpn? Like Carp - only prettier DCONWAY FindBin adpf? Locate current script bin directory P5P Include adpO? Parse C header files for use in XS GBARR Make adpO? Makefile parsing, and 'make' replacement NI-S Perlbug RdpO? Database driven bug tracking system RFOLEY Rcs adcf? Alternate RCS interface (see VCS::RCS) CFRETER Smirch Rdpfa For really dirty programs JNAGRA Usage bupr? Type and range checking on subroutine args JACKS VCS ampOp Generic interface to Version Control Systems LBROCARD Benchmark Supf? Easy way to time fragments of perl code P5P Benchmark:: ::Timer RdpO? Perl code benchmarking tool ANDREWHO 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 Carp:: ::Assert adpf? Stating the obvious to let the computer know MSCHWERN ::CheckArgs Rdpf? Check subroutine argument types GARROW ::Datum adpf? Debugging And Tracing Ultimate Module RAM ClearCase idcf? Environment for ClearCase revision control BRADAPP ClearCase:: ::Ct Mnpf? Generic cleartool wrapper DSB Conjury:: ::C Rdph? Generic software construction toolset JWOODYATT ::Core Rdph? Generic software construction toolset JWOODYATT ::Stage Rdph? Generic software construction toolset JWOODYATT Devel:: ::CallerItem RupO? 'caller()' Object wrapper + useful methods JACKS ::CoreStack adpf? generate a stack dump from a core file ADESC ::Cover adcfp Code coverage metrics for Perl PJCJ ::Coverage adpf? Coverage analysis for Perl code RJRAY ::DProf Rdcf? Execution profiler DMR ::DebugAPI bdpf? Interface to the Perl debug environment JHA ::DebugInit bdpf? Create a .gdbinit or similar file JASONS ::DumpStack Rupf? Dumping of the current function stack JACKS ::Leak Rdcf? Find perl objects that are not reclaimed NI-S ::Modlist Rdpf? Collect module use information RJRAY ::PPPort bdcn? Portability aid for your XS code KJALB ::Peek adcf? Peek at internal representation of Perl data ILYAZ ::RegExp adcO? Access perl internal regex functions ILYAZ ::SearchINC Rdpnp loading Perl modules from development dirs MARCEL ::SmallProf Rdpf? Line-by-line profiler ASHTED ::StackTrace RdpOp Stacktrace object w/ info like Carp::confess DROLSKY ::Symdump RdpO? Perl symbol table access and dumping ANDK ::TraceFuncs adpO? Trace funcs by using object destructions JOEHIL ::TraceLoad Rdpf? Traces the loading of perl source code PVERD Exception:: ::Class RdpOp Declare exception class hierarchies DROLSKY ::Cxx Rd+f? Cause perl to longjmp using C++ exceptions JPRIT Perf:: Performance measurement other than benchmarks ::ARM adcf? Application Response Measurement BBACKER Sub:: ::Curry Rdpf? Perl module to curry functions ((a la Lisp)) DAVIDH Test Sdpf? Utilities for writing test scripts JPRIT Test:: ::Cmd RdpO? Portable test infrastructure for commands KNIGHT ::Harness Supf? Executes perl-style tests P5P ::Unit adpO? framework for XP style unit testing CLEMBURG ::Suite cdpO? Represents a collection of Test::Cases HENKE ::Case cdpO? Represent a single test case HENKE VCS:: ::CVS RdpO? Interface to GNU's CVS RSAVAGE ::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 4) Operating System Interfaces, Hardware Drivers Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Env Supf? Alias environment variables as perl vars P5P Errno cdpf? Constants from errno.h EACCES, ENOENT etc P5P Fcntl Sdcf? Defines fcntl() constants (see File::Lock) JHI Ioctl adcf? ioctl(2) constants JPRIT POSIX SupO? An interface to most (all?) of POSIX.1 P5P Shell Supf? Run shell commands transparently within perl P5P Async:: ::Group adpO? Deal with simultaneous asynchronous calls DDUMONT ::Process i ? class to run sub-processes DDUMONT BSD:: ::HostIdent i ? s/gethostname(), s/gethostid() JHI ::Ipfwgen bdpf? Generate ipfw(8) filters MUIR ::Resource Rdcf? getrusage(), s/getrlimit(), s/getpriority() JHI Env:: ::Path adpO? Advanced operations on path variables DSB Proc:: ::Background RdpO? OS independent background process objects BZAJAC ::ExitStatus Rdpf? Interpret and act on wait() status values ROSCH ::Forkfunc Rdpf? Simple lwall-style fork wrapper MUIR ::ProcessTable bdcO? Unix process table information DURIST ::SafePipe bdpf? popen() and `` without calling the shell ROSCH ::Short adpO? System calls with timeout option JHKIM ::Simple adpO? Fork wrapper with objects MSCHILLI ::Spawn Rdpf? Run external programs GARROW ::SyncExec Rdpf? Spawn processes but report exec() errors ROSCH ::times adpf? By-name interface to process times function TOMC ::Queue Rdpfp limits number of concurrent forked processes SALVA GTop bdcO? Perl interface to libgtop DOUGM Schedule:: See also Schedule:: in chapter 23 ::At Rd ? OS independent interface to the at command JOSERODR ::ByClock adpO? Return at given times SCHAFFTER ::Cron adpO? cron-like scheduler for perl subroutines ROLAND ::Load RdpOp Remote system load, processes, scheduling WSNYDER 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 Note: The Sys:: namespace is considered harmful as it is giving no clue about which system. Placing additional modules into this namespace is discouraged. Platform Specific Modules Be:: ::Attribute Rd+f? Manipulate BeOS BFS MIME file attributes TSPIN ::Query Rd+f? Query a BeOS file system TSPIN FreeBSD:: ::SysCalls cdcf? FreeBSD-specific system calls GARY HPUX:: ::Ioscan bdpf? Perl function to handle HPUX ioscan command DDUMONT Mac:: ::AppleEvents bmcO? AppleEvent manager and AEGizmos MCPL ::AssistantFrames RdpO? Easy creation of assistant dialogs GBAUER ::Components bmcO? (QuickTime) Component manager MCPL ::DtfSQL Rdcf? Perl interface to the dtF/SQL DB engine TWEGNER ::Files bmcO? File manager MCPL ::Gestalt bmcO? Gestalt manager: Environment enquiries MCPL ::Glue bdpO? Control apps with AppleScript terminology CNANDOR ::Macbinary bdpO? Decodes MacBinary files. MIYAGAWA ::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 ::Serial bdpO? Interface to Macintosh serial ports DIVERDI ::Types bmcO? (Un-)Packing of Macintosh specific types MCPL Mac::AppleEvents:: ::Simple Rdph? Simple access to Mac::AppleEvents CNANDOR Mac::Apps:: ::Anarchie RdpO? Control Anarchie 2.01+ CNANDOR ::Launch Rdpf? MacPerl module to launch / quit apps CNANDOR ::MacPGP RdpO? Control MacPGP 2.6.3 CNANDOR ::PBar RdpO? Control Progress Bar 1.0.1 CNANDOR Mac::Comm:: ::OT_PPP RdpO? Control Open Transport PPP / Remote Access CNANDOR Mac::FileSpec:: ::Unixish Mdpf? Unixish-compatability in filespecs SBURKE Mac::OSA:: ::Simple Rdph? Simple access to Mac::OSA 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 MVS:: ::VBFile bdpf? Read MVS VB (variable-length) files GROMMEL NeXTStep:: ::NetInfo idcO? NeXTStep's NetInfo (like ONC NIS) PGUEN 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 Riscos i ? Namespace for Risc-OS (Acorn et.al.) RISCOSML SGI:: ::SysCalls cdcf? SGI-specific system calls AMOSS ::GL adcr? SGI's Iris GL library AMOSS ::FM adcr? SGI's Font Management library AMOSS ::FAM RdcO? Interface to SGI/Irix File Access Monitor JGLICK Solaris:: ::ACL adch? Provides access to ACLs in Solaris IROBERTS ::Kmem idcf? Read values from the running kernel ABURLISON ::Kstat adcO? Access kernel performance statistics ABURLISON ::MIB idcO? Access STREAMS network statistics ABURLISON ::MapDev bdpf? Maps sdNN disk names to cNtNdN disk names ABURLISON ::NDD idcO? Access network device statistics ABURLISON ::Procfs adhh? Access to the Solaris /proc filesystem JNOLAN ::InstallDB bdp?? Searches for Solaris package/system info CHRISJ ::Package bdpO? Access a Solaris package pkginfo file CHRISJ ::Contents bdp?? Access a Solaris contents file CHRISJ Unix:: ::ConfigFile adpO? Abstract interfaces to Unix config files SSNODGRA ::Processors RdcOp Interface to per-processor information WSNYDER ::Syslog i ? Interface to syslog functions in a C-library MHARNISCH ::UserAdmin Rdpf? Interface to Unix Account Information JZAWODNY ::Login bdph? Customizable Unix login prompt / validation NWIGER VMS:: ::Device Rdcr? Access info about any device on a VMS system DSUGAL ::Filespec Sdcf? VMS and Unix file name syntax CBAIL ::ICC bdcr? Interface to the ICC facilities in VMS 7.2+ DSUGAL ::Lock RncO? Object interface to $ENQ (VMS lock mgr) BHUGHES ::Misc Rdcr? Miscellaneous VMS utility routines DSUGAL ::Monitor Rdcr? Access VMS system performance info DSUGAL ::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 ::User bdcr? Read access to system UAF data DSUGAL ::Mail cdcO? Perl module for accessing callable VMS mail DNORTH VMS::Fileutils:: ::Root RdpO? Evade VMS's 8 level directory restrictions CLANE ::SafeName Rdpf? Transform filenames to "VMS safe" form CLANE Portable Digital Assistants PDA:: ::Pilot amcO? Interface to pilot-link library KJALB ::PilotDesktop i ? Managing Pilot Desktop databases software JWIEGLEY Hardware related modules Hardware:: ::Simulator adpf? Simulate different pieces of hardware GSLONDON Device:: ::SerialPort bdpO? POSIX clone of Win32::SerialPort COOK ::SVGA c ? SVGA Graphic card driver SCOTTVR Device::ISDN:: ::OCLM bd??? Perl interface to the 3com OCLM ISDN TA MERLIN AudioCD bdpO? Extension for controlling Audio CDs SDERLE AudioCD:: ::Mac bdcO? Extension for controlling Audio CDs on MacOS AJFRY 5) Networking, Device Control (modems) and InterProcess Communication Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Socket Smcf? Defines socket-related constants GNAT Socket6 adcf? getaddrinfo/getnameinfo support module UMEMOTO Ptty adcf? Pseudo terminal interface functions NI-S Socket:: ::PassAccessRights adcf? Pass file descriptor via Unix domain socket SAMPO Net:: ::ACAP adpO? Interface to ACAP Protocol (Internet-Draft) KJOHNSON ::AIM adpO? AOL Instant Messenger TOC protocol ARYEH ::AOLIM RdpO? AOL Instant Messenger OO Interface (TOC) RWAHBY ::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 ::DHCPClient adpO? Interface to DHCP as a client JWALGENB ::DLookup adpO? Lookup domains on Internic and 2-letter TLDs DJASMINE ::DNS bdpO? Interface to the DNS resolver MFUHR ::DNSServer cnpOa Secure and Extensible Name Server BBB ::Daemon adpO? Abstract base class for portable servers JWIED ::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 RdcO? Generic support for socket usage SPIDB ::Gnutella bdpO? Gnutella network (v0.4) interface IWADE ::Goofey RdpO? Communicate with a Goofey server GOSSAMER ::HTTPTunnel adpO? Tunnel through HTTP proxies with CONNECT RWAHBY ::Hesiod bdchp Interface to Hesiod library API PAYERLE ::Hotline RdpO? Interface to the Hotline protocol JSIRACUSA ::ICAP adpO? Interface to ICAP Protocol (Internet-Draft) KJOHNSON ::ICB bdpO? ICB style chat server interface JMV ::ICQ bmpO? Client interface to ICQ messaging JMUHLICH ::ICal ampO? RFC2445 (iCalendar) protocol tools SRL ::IMAP adpO? Interface to IMAP Protocol (RFC2060) KJOHNSON ::IMIP impO? RFC2447 tools for event scheduling SRL ::IRC cdpO? Internet Relay Chat interface DSHEPP ::ITIP cmpO? RFC2446 tools for scheduling events SRL ::Ident RdpO? Performs ident (rfc1413) lookups JPC ::Inet RdcO? Internet (IP) socket usage SPIDB ::Interface adcO? ifconfig(1) implementation SRZ ::Jabber ampO? Access to the Jabber protocol REATMON ::LDAP ampOp Interface to LDAP Protocol (RFC1777) PLDAP ::LDAPapi Rdcf? Interface to UMICH and Netscape LDAP C API CDONLEY ::LMTP cdpOp LMTP Protocol - RFC2033 LHOWARD ::MsgLink cdpO? Abstraction of "user" part for message link RAM ::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 RdpO? 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 ::Pager RdpO? Send Numeric/AlphaNumeric Pages to any pager ROOTLEVEL ::ParseWhois RmpO? Get+Parse "whois" domain data ABEROHAM ::Patricia RdcO? Patricia Trie perl module for fast IP addres PLONKA ::Pcap adcr? An interface for LBL's packet capture lib PLISTER ::Peep RdpO? Clients for Peep: The Network Auralizer STARKY ::Ping SupO? TCP and ICMP ping RMOSE ::Printer RdpO? Direct to lpd printing CFUHRMAN ::SCP Rdphp Perl extension for secure copy protocol IVAN ::SFTP bdpOp Secure File Transfer Protocol client BTROTT ::SMPP cdpO? Protocol for sending SMS (to GSM or CDMA). SAMPO ::SMS RdpOp Send SMS wireless text-messages. ROOTLEVEL ::SMTP adpf? Interface to Simple Mail Transfer Protocol GBARR ::SNMP adpO? Interface to SNMP Protocol (RFC1157) DTOWN ::SNPP cdpO? Client interface to SNPP protocol GBARR ::SOCKS cdcf? TCP/IP access through firewalls using SOCKS SCOOPER ::SSH Rdphp Perl extension for secure shell IVAN ::SSL RdcO? Glue that enables LWP to access https URIs CHAMAS ::SSLeay bmhf? Secure Socket Layer (based on OpenSSL) SAMPO ::Server adpO? Extensible (class) oriented internet server RHANDOM ::Syslog RdpOp Forwarded syslog protocol LHOWARD ::TCP RdcO? TCP-specific socket usage SPIDB ::TFTP cdpf? Interface to Trivial File Transfer Protocol GSM ::Telnet RdpO? Interact with TELNET port or other TCP ports JROGERS ::Time adpf? Obtain time from remote machines GBARR ::Traceroute bdpO? Trace routes HAG ::UDP RdcO? UDP-specific socket usage SPIDB ::VNC i???? Interface VNC remote frame buffer protocol BRONG ::Whois RdpO? Get+parse "whois" domain data from InterNIC DHUDES ::XWhois RdpO? Whois Client Interface for Perl5. VIPUL ::Z3950 bmcO? OO interface to the Yaz Z39.50 toolkit MIRK ::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 Net::Daemon:: ::SSL RdpO? SSL extension for Net::Daemon MKUL Net::DHCP:: ::Watch adpO? A class for monitoring a remote DHCPD server EJDRS Net::IMAP:: ::Simple bdpO? Only implements the basic IMAP features JPAF Net::Ping:: ::External adpf? Cross-platform interface to "ping" utilities COLINM Net::SMS:: ::Genie RdpO? Send SMS messages using the Genie gateway AWRIGLEY Net::SNMP:: ::Interfaces RdpO? Obtain IfTable entries via SNMP JSTOWE Net::SSH:: ::Perl RdpOp Perl client Interface to SSH BTROTT Net::Telnet:: ::Cisco RdpO? Net::Telnet wrapper for Cisco devices JOSHUA NetAddr:: ::IP RdpO? Manipulation and operations on IP addresses LUISMUNOZ IPC:: ::Cache adpO? Shared-memory object cache DCLINTON ::ChildSafe RdcO? Control child process w/o risk of deadlock DSB ::Globalspace cdpO? Multi-process shared hash and shared events JACKS ::LDT Rdpf? Implements a length based IPC protocol JSTENZEL ::Locker RdpOp Shared semaphore locks across a network WSNYDER ::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 ::Run bdph? Child procs w/ piping, redir and psuedo-ttys RBS ::Session bnpO? remote shell session mgr; wraps open3() STEVEGT ::Shareable bdpr? Tie a variable to shared memory BSUGARS ::SharedCache Rmpr? Manage a cache in SysV IPC shared memory SAMTREGAR ::Signal Rdpf? Translate signal names to/from numbers ROSCH ::SysV adcr? shared memory, semaphores, messages etc JACKS ::XPA adch? Interface to SAO XPA messaging system DJERIUS RPC:: Remote Procedure Calls (see also DCE::RPC) ::PlServer RdpO? Interface for building Perl Servers JWIED ::PlClient 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 NetPacket:: ::ARP adpO? Address Resolution Protocol TIMPOTTER ::Ethernet adpO? Ethernet framed data TIMPOTTER ::IGMP adpO? Internet Group Management Protocol TIMPOTTER ::IP adpO? Internet Protocol TIMPOTTER ::TCP adpO? Transmission Control Protocol TIMPOTTER ::UDP adpO? User Datagram Protocol TIMPOTTER Proxy i ? Transport-independent remote processing MICB Proxy:: ::Tk ? ? Tk transport class for Proxy (part of Tk) MICB Fwctl bmpO? Interface to Linux packet filtering firewall FRAJULAC LSF cdcO? Interface to the Load Sharing Facility API PFRANCEUS TFTP bdpO? Interface to TFTP (rfc1350) GSM ToolTalk adcr? Interface to the ToolTalk messaging service MARCP SOAP cmpO? SOAP/Perl language mapping KBROWN IPChains RdcO? Create and Manipulate ipchains JESSICAQ IPChains:: ::PortFW bdpO? Interface to ipmasqadm portfw command FRAJULAC SNMP RdcO? Interface to the UCD SNMP toolkit GSM SNMP:: ::Monitor adpO? Accounting and graphical display JWIED ::Util RdpO? Perform SNMP set,get,walk,next,walk_hash,... WMARQ ::NPAdmin adpO? Perl API to query printers via SNMP. BOZZIO ::BridgeQuery bdpfp Query bridge/switch for forwarding database JSHEARER Mon:: ::Client RdpO? Network monitoring client TROCKIJ ::SNMP RdpO? Network monitoring suite TROCKIJ Parallel:: ::ForkManager RdpO? A simple parallel processing fork manager DLUX ::Pvm bdcf? Interface to the PVM messaging service DLECONTE CORBA:: ::IOP::IOR adpO? Decode, munge, and re-encode CORBA IORs PHILIPA ::IDLtree adpf? IDL to symbol tree translator OMKELLOGG Modem:: ::VBox RdpO? Perl module for creation of voiceboxes MLEHMANN ::Vgetty bdpO? Interface to voice modems using vgetty YENYA ControlX10:: ::CM10 RmpO? Control unit for X10 modules BBIRTH ::CM17 RmpO? inexpensive RF transmit-only X10 BBIRTH RAS:: ::PortMaster RdpO? Interface to Livingston PortMaster STIGMATA ::AS5200 RdpO? Interface to Cisco AS5200 dialup server STIGMATA ::HiPerARC RdpO? Interface to 3Com TotalControl HiPerARC STIGMATA 6) Data Types and Data Type Utilities (see also Database Interfaces) Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Math:: ::Amoeba Rdpr? Multidimensional Function Minimisation JARW ::Approx adpO? Approximate x,y-values by a function ULPFR ::BaseCalc RdpO? Convert numbers between various bases KWILLIAMS ::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 ::CDF bdch? Cumulative Distribution Functions CALLAHAN ::Cephes adcf? Interface to St. Moshier's Cephes library RKOBES ::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 ::Geometry adpf? 2D and 3D algorithms GMCCAR ::Integral i ? Integration of data AQUMSIEH ::Interpolate Rdpr? Polynomial interpolation of data MATKIN ::LinearProg idp ? Linear programming utilities JONO ::Logic RdpO? Provides pure 2, 3 or multi-value logic SUMMER ::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 ::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 ::Round bdpf? Perl extension for rounding numbers GROMMEL ::SigFigs Rdpf? 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 ASPINELLI ::ematica adcO? Interface to the powerful Mathematica system ULPFR ::Libm RdcO? Perl extension for the C math library, libm DSLEWART ::FFT adcO? Perl extension for Fast Fourier Transforms RKOBES ::BooleanEval bdpO? Parsing and evaluating Boolean expressions MIKO ::BigIntFast RdcO? Efficient big integer arithmetic (in C) STBEY ::QuadTree cdpO? Quad Edge data structure for 2D manifolds FRED ::Fleximal adpO? Arithmetic with any base representation TILLY ::Project RdpO? Compute intersection with upright line MILSO Math::Business:: ::EMA adcO? An Exponential Moving Average Calculator JETTERO Math:: ::MatrixReal RdpO? Everything you ever wanted to do with Matr. STBEY Math::MatrixReal:: ::Ext1 RdpO? Convenience extensions for Math::MatrixReal MSOUTH Math::Polynomial:: ::Solve Rdpf? Solve polynomials up to degree 4 JGAMBLE Math::Random:: ::MT bdcha The Mersenne Twister PRNG AMS Statistics:: ::ChiSquare Rdpf? Chi Square test - how random is your data? JONO ::ConwayLife RdpO? Simulates life using Conway's algorithm DANB ::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 bdpf? ROC curves with nonparametric conf. bounds HAKESTLER ::Distributions RdpO? Perl module for calculating critical values MIKEK Algorithm:: ::Diff Rdpf? Diff (also Longest Common Subsequence) NEDKONZ ::Permute bdcO? Handy and fast permutation with OO interface EDPRATOMO ::SISort Rdcr? Select And Insert sorting algorithm HRAFNKELL ::LUHN Rdpf? Calculate mod 10 Double Add Double checksum TAYERS Algorithm::Graphs:: ::TransitiveClosure RdpO? Calculates the transitive closure ABIGAIL Algorithm::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:: ::Audio bdch? Sound synthesis and editing with PDL MLEHMANN ::Meschach amcf? Links PDL to meschach matrix library EGROSS ::NetCDF bdhO? Reads/Writes NetCDF files from/to PDL objs DHUNT ::Options Rdphp Provides hash options handling for PDL TJENNESS ::PP amcf? Automatically generate C code for PDL PERLDL ::Slatec amof? Interface to slatec (linpack+eispack) lib. PERLDL Quantum:: ::Superpositions Rdpf? QM-like superpositions in Perl DCONWAY ::Entanglement Rdph? QM entanglement of variables in perl AJGOUGH Array:: ::Compare RdpO? Class to compare two arrays DAVECROSS ::Heap cdpf? Manipulate array elements as a heap JMM ::IntSpan RdpO? Handling arrays using IntSpan techniques TEVERETT ::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 ::Reform RdpO? Convert an array into N-sized array of array TBONE Hash:: ::NoVivify Rdcf? Provide non-autovivifying hash functions BPOWERS 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 Scalar:: ::Util bdcf? Scalar utilities (dualvar reftype etc) GBARR List:: ::Util bdcf? List utilities (eg min, max, reduce) GBARR Bit:: ::Vector RdcO? Fast virtual arbitrary-machineword-size CPU STBEY Set:: ::Bag RdpO? Bag (multiset) class JHI ::IntRange RdcO? Set of integers (arbitrary intervals, fast) STBEY ::IntSpan adpO? Set of integers newsrc style '1,5-9,11' etc SWMCD ::NestedGroups RdpO? Grouped data eg ACL's, city/state/country ABARCLAY ::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 ::CheckList adph? Maintain a list of "to-do" items MIKO ::Crontab RdpOa Expand crontab(5)-style integer lists AMS ::Infinite bdpOp Set Theory module for infinite sets FGLOCK Graph RdpO? Data structure and ops for directed graphs JHI Graph:: ::Kruskal Rdpf? Kruskal Algorithm for Minimal Spanning Trees STBEY ::Reader RdpO? Base class for graph file format reader NEILB ::Writer RdpO? Base class for graph file format writer NEILB Graph::Reader:: ::XML RdpO? Read a Graph from simple XML format NEILB Graph::Writer:: ::XML RdpO? Write a Graph in a simple XML format NEILB ::Dot RdpO? Write a Graph in file format used by Dot NEILB ::VCG RdpO? Write a Graph in file format used by VCG NEILB ::daVinci cdpO? Write a Graph in file format used by daVinci NEILB Decision:: ::Markov bdpO? Build/evaluate Markov models for decisions ALANSZ Date:: ::Calc Rdhh? 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 ::Interval idpO? Lightweight normalised interval data type KTORP ::Language adpO? Multi-language date support GBARR ::Manip Rdpf? Complete date/time manipulation package SBECK ::Parse Rdpf? ASCII Date parser using regexp's GBARR ::Time idpO? Lightweight normalised datetime data type TOBIX Date::Tolkien:: ::Shire RdpOp J.R.R. Tolkien's hobbit calendar TBRAUN Time:: ::Avail Rdpf? Calculate min. remaining in time interval PSANTORO ::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 ::Object adpO? Object Oriented time objects MSERGEANT ::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 ::Seconds RdcO? API to convert seconds to other date values MSERGEANT ::Stopwatch Rdpr? Use tied scalars as timers ILTZU ::Unix RdpO? Force time() to return secs since UNIX epoch NWIGER ::TAI64 i?c?a Time manipulation in the TAI64* formats AMS Calendar:: ::CSA adcO? interface with calenders such as Sun and CDE KJALB ::Hebrew cdpO? Hebrew calendar conversion/manipulation YSTH ::RCM i ? Russell Calendar Manager HTCHAPMAN Tie:: ::AliasHash Rdpr? Hash with key aliases ACALPINI ::Array Supr? Base class for implementing tied arrays P5P ::CPHash bdpO? Case preserving but case insensitive hash CJM ::Cache Mdpr? In memory size limited LRU cache CHAMAS ::CharArray Rdpr? Access Perl scalars as arrays of characters ILTZU ::Cycle RdpO? Cycle through a list of values via a scalar. BDFOY ::DBI RdpO? Tie hash to a DBI handle LDS ::DB_FileLock Rdpr? Locking access to Berkeley DB 1.x. JMV ::DB_Lock Rdpr? Tie DB_File with automatic locking KWILLIAMS ::Dir adpr? Tie hash for reading directories GBARR ::Discovery Rdpr? Discover data by caching sub results SIMON ::DxHash Rdprp Keeps insertion order; allows duplicate keys KRUSCOE ::File adpr? Tie hash to files in a directory AMW ::FileLRUCache bdph? File based persistent LRU cache SNOWHARE ::Handle ?dpO? Base class for implementing tied filehandles STBEY ::Hash Supr? Base class for implementing tied hashes P5P ::HashDefaults adpr? Let a hash have default values JDPORTER ::IxHash RdpO? Indexed hash (ordered array/hash composite) GSAR ::LDAP bdpr? Ties LDAP database to Perl hash TAIY ::LLHash Rdpr? Fast ordered hashes via linked lists KWILLIAMS ::ListKeyedHash Rdpr? Use lists to key multi-level hashes SNOWHARE ::Mem adcO? Bind perl variables to memory addresses PMQS ::MmapArray bdcr? Ties a file to an array ANDREWF ::Multidim adpr? "tie"-like multidimensional data structures JDPORTER ::OffsetArray adpr? Tie one array to another, with index offset JDPORTER ::Persistent Rdpr? Persistent data structures via tie RGIERSIG ::Quick i ? Simple way to create ties P5P ::RDBM RdpO? Tie hashes to relational databases LDS ::RangeHash bdph? Hashes with 'low,high' ranges as keys RRWO ::RegexpHash adph? Use regular expressions as hash keys RRWO ::RndHash bdpO? choose a random key of a hash in O(1) time DFAN ::Scalar Supr? Base class for implementing tied scalars P5P ::SecureHash RdpO? Enforced encapsulation of Perl objects DCONWAY ::SentientHash bdpr? Tracks changes to nested data structures ANDREWF ::ShadowHash adpO? Merge multiple data sources into a hash RRA ::ShiftSplice i ? Defines shift et al in terms of splice LWALL ::SortHash Rdpr? Provides persistent sorting for hashes CTWETEN ::StrictHash RdpO? A hash with strict-like semantics KVAIL ::SubstrHash SdpO? Very compact hash stored in a string LWALL ::TextDir Rdpr? ties a hash to a directory of textfiles KWILLIAMS ::WarnGlobal adpr? Ties variables to functions, warns on use STEPHEN ::Watch bdpO? Watch variables, run code when read/written LUSOL Tie::Scalar:: ::Timeout adpr? Scalar variables that time out MARCEL Tie::Cache:: ::LRU adpr? A Least-Recently Used cache MSCHWERN Class:: ::Accessor bdpO? Automated accessor generation MSCHWERN ::BlackHole RdpO? treat unhandled method calls as no-op SBURKE ::Classless MdpO? Framework for classless OOP SBURKE ::Contract RdpO? Design-by-Contract OO in Perl. GGOEBEL ::DBI adpO? Simple SQL-based object persistance MSCHWERN ::Delegate bdpO? Easy-to-use object delegation KSTAR ::Eroot RdpO? Eternal Root - Object persistence DMR ::Fields bdph? Inspect the fields of a class MSCHWERN ::ISA Mdpf? Report the search path thru an ISA tree SBURKE ::MethodMaker MdpO? Create generic class methods FLUFFY ::Multimethods Rdpf? A multiple dispatch mechanism for Perl DCONWAY ::Mutator bdpO? Dynamic polymorphism implemented in Perl GMCCAR ::NamedParms MdpO? A named parameter accessor base class SNOWHARE ::ObjectTemplate bdpO? Optimized template builder base class JASONS ::ParamParser RdpO? Provides complex parameter list parsing DUNCAND ::ParmList MdpO? A named parameter list processor SNOWHARE ::PublicInternal adpO? Keep separate hashes of public/internal data MIKO ::Singleton bdpO? Implementation of a "Singleton" class ABW ::StructTemplate adpO? Facilitates creation of public class-data HEIKOWU ::TOM RmpO? Transportable Object Model for perl JDUNCAN ::Template Rdpr? Struct/member template builder DMR ::Translucent RdpO? Translucent (ala perltootc) method creation GED ::Tree MdpO? C++ class hierarchies & disk directories RSAVAGE ::WhiteHole RdpO? Treat unhandled method calls as errors MSCHWERN ::Handler bdpO? Make Apache-like pseudoclass event handlers NWIGER ::Loader bdpO? Load modules & construct objects on demand. VIPUL ::Date bdhhp a date and time class for perl DLUX ::ArrayObjects bdph? utility class for array based objects RBERJON Class::ObjectTemplate:: ::DB bdpO? Template base class for DB objects JASONS Object:: ::Info Rupf? General info about objects (is-a, ...) JACKS ::Transaction bdpO? Transactions on serialized HASH files MUIR POE:: Perl Object Environment ::Kernel RdpO? An event queue that dispatches events RCAPUTO ::Session RdpO? state machine running on POE::Kernel events RCAPUTO POE::Component:: ::RSS bdp?? Event based RSS interface MSTEVENS ::SubWrapper bdp?? Event based Module interface MSTEVENS ::UserBase RdpO? A component to manage user authentication JGOFF POE::Component::IRC:: ::Onjoin RdpO? Provides IRC moved message & onjoin services AFOXSON ::SearchEngine bdpO? Search Engine for IRC AFOXSON MOP bdp ? Meta Object Protocol (Tool collection) ORTALO Ref RdpO? Print, compare, and copy perl structures MUIR SOOP RdpO? Safe Object Oriented Programming GARROW Sort:: ::ByCompatMatrix idpO? Sort objects by attribute compatibility ICKHABOD ::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 Clone idch? Recursive copy of nested objects RDF FreezeThaw bdpf? Convert arbitrary objects to/from strings ILYAZ Persistence:: ::Object adpO? Store Object definitions with Data::Dumper VIPUL Storable Rdcr? 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 Tangram RmpO? Object persistence in relational databases JLLEROY Persistent:: ::Base bdpO? Persistent base classes (& DBM/File classes) DWINTERS ::DBI bdpO? Persistent abstract class for DBI databases DWINTERS ::MySQL bdpO? Persistent class for MySQL databases DWINTERS ::Oracle bdpO? Persistent class for Oracle databases DWINTERS ::Sybase bdpO? Persistent class for Sybase databases DWINTERS ::mSQL bdpO? Persistent class for mSQL databases DWINTERS ::LDAP bdpO? Persistent class for LDAP directories DWINTERS Data:: ::Check cdpO? Checks values for various data formats KENHOLM ::DRef adph? Nested data access using delimited strings EVO ::Dumper RdpO? Convert data structure into perl code GSAR ::Flow RdpO? Acquire data based on recipes ILYAZ ::Locations RdcO? Insert data into other data w/o temp files STBEY ::Reporter RdcO? Ascii Report Generator RVAZ ::Walker RdpO? Navigate through Perl data structures JNOLAN ::Random adpf? Generate random sets of data ADEO ::JavaScript Rdpr? Dumps structures into JavaScript code SCHOP ::MultiValuedHash RdpO? Hash whose keys have multiple ordered values DUNCAND ::Iterator RupO? Simple iteration over complex data strucures HCAMP ::Buffer bdpOp Read/write buffer class BTROTT ::Lazy Rdpr? provides "lazy" scalars, arrays and hashes JENDA ::Denter RdpO? An alternative to Data::Dumper and Storable. INGY ::Compare RdpO? Compare perl data structures FTASSIN ::HexDump RdpO? Hexadecial Dumper FTASSIN ::Hexdumper Rdpfa Display binary data in multiple formats DCANTRELL ::Stash bdpf? Data structures in simple text format HRANICKY ::BinStruct bdpO? OO access to binary data structures DJHD Tree:: ::Base cdpO? Defines a basic binary search tree MSCHWERN ::Fat Rdcf? Embeddable F-Tree algorithm suite JPRIT ::Smart cdpO? Splay tree, fastest for commonly accessed ke MSCHWERN ::Ternary bdpO? Perl implementation of ternary search trees MROGASKI ::Ternary_XS adcOp XS implementation of ternary search trees LBROCARD ::Trie bdpO? An implementation of the Trie data structure AVIF ::Nary RdpO? Perl implementation of N-ary search trees FSORIANO ::DAG_Node MdpO? base class for trees SBURKE ::M ad+O? M-trees provide efficient metric searches MLEHMANN DFA:: ::Command MdpO? Discrete Finite Automata command processor RSAVAGE ::Kleene R ? Kleene's Algorithm for DFA STBEY ::Simple cdpO? An "augmented transition network" RANDYM Boulder MdpO? Generalized tag/value data objects LDS Thesaurus RdpOp Create associations between related things DROLSKY BabelObjects cdpf? Web Service Framework KERMAGO YAML cdhOp Yet Another Markup Language Support Module INGY 7) Database Interfaces (see also Data Types) Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- DBI amcO? Generic Database Interface (see DBD modules) DBIML DBI:: ::Format bmpO? Defined display formats for data from DBI TLOWERY DBIx -- Extensions to the DBI DBIx:: ::Abstract RmpO? Wrapper for DBI that generates SQL TURNERA ::AnyDBD bdpO? Module to make cross db applications easier MSERGEANT ::CGITables adpO? Easy DB access from a CGI TOBIX ::Copy adpO? Copying databases TOBIX ::FullTextSearch bdpO? Index documents with MySQL as storage TJMATHER ::glueHTML bdpO? CGI interface to DBI databases JFURNESS ::HTMLView cdpO? Creating web userinterfaces to DBI dbs HAKANARDO ::OracleSequence adpO? OO access to Oracle sequences via DBD-Oracle BLABES ::Password MdpO? Abstration layer for database passwords KROW ::Recordset bmpO? DB-Abtractionlayer / Access via Arrays/Hashs GRICHTER ::Table bdpO? OO access to DBI database tables DLOWE ::TableAdapter adpO? An object-relational mapper for DBI tables GED ::Tree adpO? Expand self-referential table into a tree BJEPS ::XML_RDB ????? Creates XML from DBI datasources MSERGEANT ::DBSchema bmpOp Database-independent schema objects IVAN ::XMLMEssage bnpf? Exchange of XML messages between DBI sources ANDREIN ::Browse idpO? A class to browse related tables via CGI/Web EJDRS ::XHTML_Table adpOp Create XHTML tables from SQL queries JEFFA ::SchemaView adpf? Retrieving and drawing of DB schema (Tk) MILSO ::SystemCatalog RdpO? Accessing system catalog in common databases MILSO ::dbMan ampf? Tk database manipulating tool MILSO DBIx::Lookup:: ::Field Rdpfp Create a lookup hash from a database table MARCEL DBD:: ::ASAny adcO? Adaptive Server Anywhere Driver for DBI SMIRNIOS ::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 ::Empress adcO? Empress RDBMS Driver SWILLIAM ::FreeTDS adcO? DBI driver for MS SQLServer and Sybase SPANNRING ::SearchServer cdcO? PCDOCS/Fulcrum SearchServer Driver for DB SHARI ::Illustra bmcO? Illustra Driver for DBI PMH ::Informix amcO? Informix Driver for DBI JOHNL ::Informix4 adcO? DBI driver for Informix SE 4.10 GTHYNI ::Ingres bmcO? Ingres Driver for DBI HTOUG ::Multiplex ampO? Spreading database load across servers DBIML ::ODBC amcO? ODBC Driver for DBI DBIML ::Oracle MmcO? Oracle Driver for DBI DBIML ::QBase amcO? QBase Driver for DBI BENLI ::RAM bmpO? a DBI driver for files and data structures JZUCKER ::SQLrelay bdpO? SQLrelay driver for DBI DMOW ::Solid amcO? Solid Driver for DBI TWENRICH ::Sqlflex RdcO? SQLFLEX driver for DBI INFOFLEX ::Sybase bmcO? Sybase Driver for DBI MEWP ::Unify bdcO? Unify driver for DBI HMBRAND ::XBase RmpO? 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 ::InterBase amcO? DBI driver for InterBase RDBMS server EDPRATOMO ::RDB Rdof? DBI driver for Oracle RDB (OpenVMS only) ASTILLER ::DtfSQLmac RdpO? dtF/SQL (Mac OS edition) driver for DBI TWEGNER ::ADO bmpO? Database interface modules of MS ADO for DBI TLOWERY ::Excel adpO? Excel database driver for the DBI module KWITKNR Oraperl Rmpf? Oraperl emulation interface for DBD::Oracle DBIML Ingperl bmpf? Ingperl emulation interface for DBD::Ingres HTOUG DDL:: ::Oracle RdpO? Reverse engineers object DDL; also defrags RVSUTHERL MSSQL:: ::DBlib Md+O? Access MS SQL Server through DB-Library. SOMMAR ::Sqllib MdpO? High-level interface using MSSQL::DBlib. SOMMAR Oracle:: ::OCI bmcr? Raw interface to the Oracle OCI API TIMB Sybase:: ::Async cdpO? interact with a Sybase asynchronously WORENKD ::BCP RdcO? Sybase BCP interface MEWP ::DBlib RdcO? Sybase DBlibrary interface MEWP ::Simple bdpO? Simplified db access using Sybase::CTlib MEWP ::Sybperl Rdpf? sybperl 1.0xx compatibility module MEWP ::CTlib RdcO? Sybase CTlibrary interface MEWP Ace i ? Interface to ACEDB (Popular Genome DB) LDS BBDB Rdph? Insiduous big brother database LAXEN DTREE cdcf? Interface to Faircom DTREE multikey ISAM db JWAT Datascope Rdcf? Interface to Datascope RDBMS DANMQ Fame MdcO? Interface to FAME database and language TRIAS LotusNotes i ? Interface to Lotus Notes C/C++ API MBRECH Msql RmcO? Mini-SQL database interface JWIED Mysql RmcO? mysql database interface JWIED NetCDF bmcr? Interface to netCDF API for scientific data SEMM ObjStore Rm+O? ObjectStore OODBMS Interface JPRIT Pg Rdcf? PostgreSQL SQL database interface MERGL PgSQL adpO? "Pure perl" interface to PostgreSQL GTHYNI Pogo ad+O? Interface for GOODS object database SEYN Postgres RncO? PostgreSQL interface with Perl5 coding style DAVEHOLL Sprite RdpO? Limited SQL interface to flat file databases SHGUN Stanza i ? Text format database used by OSF and IBM JHI VDBM cdph? Client/server-layers on top of DBM files RAM WAIT adhO? A rewrite of the freeWAIS-sf engine in Perl ULPFR Wais Rdcf? Interface to the freeWAIS-sf libraries ULPFR XBase RdpO? Read/write interface to XBase files JANPAZ Xbase bdpf? Read Xbase files with simple IDX indexes PRATP Tied Hash File Interfaces: AnyDBM_File Sup ? Uses first available *_File module above P5P BerkeleyDB RdcO? Interface to Berkeley DB 2 & 3 PMQS CDB_File adc ? Tie to CDB (Bernstein's constant DB) files TIMPX DBZ_File adc ? Tie to dbz files (mainly for news history) IANPX DWH_File adpO? DBM storage of complex data and objects SUMUS DB_File Suc ? Tie to DB files PMQS GDBM_File Suc ? Tie to GDBM files P5P NDBM_File Suc ? Tie to NDBM files P5P ODBM_File Suc ? Tie to ODBM files P5P SDBM_File Suc ? Tie to SDBM files P5P MLDBM RdpO? Transparently store multi-level data in DBM GSAR MLDBM:: ::Sync bdpr? MLDBM wrapper to serialize concurrent access CHAMAS DB_File:: ::Lock RdpO? DB_File wrapper with flock-based locking DHARRIS ::DB_Database bdpO? DB_File to MultiField Table with Index RANN DBM:: ::DBass adpf? DBM with hashes, locking and XML records SPIDERBOY AsciiDB:: ::Parse i ? Generic text database parsing MICB ::TagFile adpO? Tie class for a simple ASCII database JOSERODR Db:: ::Ctree Rdcr? Faircom's CTREE+ database interface REDEN ::Documentum Rdcf? Documentum EDMS Perl client interface MSROTH ::dmObject cdpO? Object-based interface to Documentum EDMS JGARRISON ::DFC adpO? OO Interface to Documentum's DFC using JPL MSROTH DbFramework:: ::Attribute adpO? Relational attribute class PSHARPE ::DataModel adpO? Relational data model/schema class PSHARPE ::DataType adpO? Attribute data type class PSHARPE ::ForeignKey adpO? Relational foreign key class PSHARPE ::Key adpO? Relational key class PSHARPE ::Persistent adpO? Persistent object class PSHARPE ::PrimaryKey adpO? Relational primary key class PSHARPE ::Table adpO? Relational table/entity class PSHARPE ::Util adhO? Utility functions/methods PSHARPE BTRIEVE:: ::SAVE bdpO? Read-write access to BTRIEVE SAVE files DLANE MARC bmpO? MAchine Readable Catalog (library bib. data) PERL4LIB MARC:: ::XML ampO? MAchine Readable Catalog / XML Extension PERL4LIB 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 ::Storage_Lite adpO? Simple Class for OLE document interface KWITKNR Spectrum:: ::CLI RdpO? API for Spectrum Enterprise Mgr. CLI PLONKA Spreadsheet:: ::Excel i ? Interface to Excel spreadsheets RRAWLINGS ::Lotus i ? Interface to Lotus 1-2-3 spreadsheets RRAWLINGS ::WriteExcel RupO? Write cross-platform Excel binary file. JMCNAMARA ::ParseExcel RdpO? Get information from Excel file KWITKNR X500:: ::DN MdpO? X500 Distinguished Name parser RSAVAGE Alzabo RdpOp A data modelling tool and RDBMS-OO mapper DROLSKY Gemstone RdpO? Interface to a GemStone object database YOUD FameHLI adcf? Ports Fame's C-API to Perl DAVEO Splash:: ::DB ????? ? BEN 8) User Interfaces (Character and Graphical) Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Term:: ::ANSIColor Sdpf? Color output using ANSI escape sequences RRA ::ANSIScreen bdpf? Terminal control using ANSI escape sequences AUTRIJUS ::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 ::ProgressBar idpf? Progress bar in just ASCII EDAVIS ::Prompt adpf? Prompt a user ALLENS ::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 ::TUI bdpf? User interface based on Term::ReadLine SBECK ::VT102 cdpOa Emulates a colour VT102 terminal in memory AJWOOD Term::ReadLine:: ::Perl RdpO? GNU Readline history and completion in Perl ILYAZ ::Gnu RdcO? GNU Readline XS library wrapper HAYASHI Major Character User Interface Modules: Cdk RdcO? Collection of Curses widgets GLOVER Curses adcO? Character screen handling and windowing WPS Dialog bdch? interface library to libdialog UNCLE PV bdpO? Text-mode User Interface Widgets AGUL PerlMenu Mdpf? Curses-based menu and template system SKUNZ Curses:: ::Forms adpO? Form management for Curses::Widgets CORLISS ::Widgets Rdpf? Assorted widgets for rapid interfaces CORLISS Emacs adpf? Support for Perl embedded in GNU Emacs JTOBEY Emacs:: ::Lisp bdch? Perl-to-Emacs-Lisp glue JTOBEY Tk X Windows User Interface Modules Tk bmcO? Object oriented version of Tk v4 TKML Tk:: ::TextANSIColor bdpOp use ANSI color codes in Text widget TJENNESS ::Autoscroll cdpfp Alternative way to scroll SREZIC ::Axis RmpO? Canvas with Axes TKML ::CheckBox RdpO? A radio button widget that uses a checkmark DKWILSON ::ChildNotification RdpO? Alert widget when child is created DKWILSON ::Clock RdpO? Canvas based Clock widget HMBRAND ::Cloth RdpO? Object interface to Tk::Canvas and items ACH ::Columns RdpO? Multi column lists w/ resizable borders DKWILSON ::ComboEntry RdpO? Drop down list + entry widget DKWILSON ::ContextHelp cdpO? A context-sensitive help system SREZIC ::Dial RmpO? An alternative to the Scale widget TKML ::Date cdpO? A date/time widget SREZIC ::Enscript cdpf? Create postscript from text files using Tk SREZIC ::FcyEntry adpO? Entry with bg color depending on -state ACH ::FileDialog RdpO? A highly configurable file selection widget BPOWERS ::FileEntry adpO? Primitive clone of Tix FileEntry widget ACH ::FireButton RdpO? Keeps invoking callback when pressed ACH ::FlatCheckbox cdpO? A checkbox suitable for flat reliefs SREZIC ::FontDialog cdpO? A font dialog widget for perl/Tk SREZIC ::Getopt adpO? Configuration interface to Getopt::Long SREZIC ::HistEntry cdpO? An entry widget with history capability SREZIC ::HTML bdpO? View HTML in a Tk Text widget NI-S ::IconCanvas RdpO? Canvas with movable iconic interface DKWILSON ::JPEG RdcO? JPEG loader for Tk::Photo NI-S ::LockDisplay RdpO? Screen saver/lock widget with animation LUSOL ::Login cdpO? A Login widget (name, passwd, et al) BPOWERS ::Menustrip RdpO? Another MenuBar DKWILSON ::More adpO? A more (or less) like text widget ACH ::Multi bdpO? Manages several Text or Canvas widgets DDUMONT ::NumEntry RdpO? Numerical entry widget with up/down buttons ACH ::ObjScanner RdpO? Tk data or object scanner DDUMONT ::Olwm RmpO? Interface to OpenLook toplevels properties TKML ::Pane RdpO? A Frame that can be scrolled TKML ::PNG RdcO? PNG loader for Tk::Photo NI-S ::Pod ?mpO? POD browser toplevel widget TKML ::ProgressBar RdpO? Status/progress bar TKML ::ProgressMeter cdpO? Simple thermometer-style widget w/callbacks BPOWERS ::RotCanvas RdpO? Canvas with arbitrary rotation support AQUMSIEH ::SplitFrame RdpO? A sliding separator for two child widgets DKWILSON ::TabFrame RdpO? A tabbed frame geometry manager DKWILSON ::TabbedForm RdpO? Ext. TabFrame, allowing managed subwidgets DKWILSON ::TableEdit RdpO? Simplified interface to a flat file database DKWILSON ::TableMatrix bdcO? Display data in Table/Spreadsheet format CERNEY ::TiedListbox RmpO? Gang together Listboxes TKML ::TFrame RdpO? A Frame with a title ACH ::TIFF adpO? TIFF loader for Tk::Photo SREZIC ::Tree RdpO? Create and manipulate Tree widgets CTDEAN ::TreeGraph RdpO? Widget to draw a tree in a Canvas DDUMONT ::WaitBox RdpO? A Wait dialog, of the "Please Wait" variety BPOWERS ::XMLViewer adpO? Tk widget to display XML SREZIC ::ObjEditor bdpO? Tk widget to edit data or objects DDUMONT ::ObjEditorDialog bdpO? Tk popup dialog to edit data or objects DDUMONT ::Pgplot bdcfp Pgplot widget for Tk CPHIL ::PathEntry adpO? Entry for selecting paths with completion SREZIC ::JComboBox bdpOp another combo box (similar to the java comp) RCS Modules in the realm of Tk but with a separate namespace Log::Dispatch:: ::ToTk RdpO? Interface class between Log::Dispatch and Tk DDUMONT ::TkText RdpO? Text widget to log Log::Dispatch messages DDUMONT Puppet:: ::Body adpO? Base class for persistent data DDUMONT ::Log bdpO? Logging facility based on Tk DDUMONT ::Any adpO? Base class for an optionnal GUI DDUMONT Puppet::VcsTools:: ::History bdpO? VCS (RCS HMS) history viewer based on Canvas DDUMONT ::File adpO? VCS (RCS HMS) file manager DDUMONT Orac RdpO? DBA GUI tool for Oracle, Informix and Sybase ANDYDUNC PPresenter MdpO? Create presentations with Tk in Perl or XML MARKOV Other Major X Windows User Interface Modules: Gtk bdcO? binding of the Gtk library used by GIMP KJALB Gtk:: ::Dialog adph? Simple interface to create dialogs in Gtk ALISTAIRC Fresco cd+O? Interface to Fresco (post X11R6 version) BPETH Glade adph? Glade/Gtk+/Gnome UI source code generator DMUSGR Gnome bdcO? Bindings to the Gnome Desktop Toolkit KJALB Qt ad+O? Interface to the Qt toolkit AWIN Sx Rdcf? Simple Athena widget interface FMC 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 bdcO? X11 library interface KENFOX ::Motif bdcO? Motif widget set interface KENFOX ::Protocol adpO? Raw interface to X Window System servers SMCCAM ::Toolkit bdcO? 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 ::XRT adcO? XRT widget set (commercial) interface KENFOX ::Xbae adcO? Xbae matrix (spreadsheet like) interface KENFOX ::Xforms bdcO? provides the binding to the xforms library MARTINB ::Xpm adcf? X Pixmap library interface KENFOX Abstract Graphical User Interfaces modules GUI:: ::Guido i ? bd+O Communicate with objects in a GUI TBRADFUTE Cmenu bdpf? Curses-based menu and data entry functions DREWF Prima Rmchb A perl GUI toolkit KARASIK 9) Interfaces to or Emulations of Other Programming Languages Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Clips adpO? Interface to the Expert System Clips MSULLIVAN Java RdoO? A Perl front-end for JVM communication METZZO Rc cdcO? Perl interface for the Rc shell JPRIT SICStus adcO? Interface to SICStus Prolog Runtime CBAIL Language:: ::Basic adpO? Implementation of BASIC AKARGER ::Prolog adpO? An implementation of Prolog JACKS ::PGForth i ? Peter Gallasch's Forth implementation PETERGAL ::ML cdpf? Implementation of ML DSPARLING ::VBParser i???? Visual Basic 6 source parser FRETT ::Style cdcOa Interpreter/Compiler for the Style Language EKMETT Language::DATR:: ::DATR2XML RdpOp Convert DATR to XML and back, wth XSLT & DTD LGODDARD Blatte bdph? Utilities for Blatte language interpreters BOBG Blatte:: ::Builtins bdph? Blatte language standard intrinsics BOBG ::Compiler bdph? Convenient interface for compiling Blatte BOBG ::Parser bdph? Blatte language parser BOBG ::Syntax bdph? Internal Blatte parse-tree objects BOBG ::Ws bdph? Internal Blatte whitespace handler BOBG ::HTML bdph? Intrinsics for writing HTML in Blatte BOBG C:: ::DynaLib bdcO? Allows direct calls to dynamic libraries JTOBEY ::Scan RdpO? Heuristic parse of C files ILYAZ FFI cdcf? Low-level Foreign Function Interface PMOORE FFI:: ::Library cdcO? Access to functions in shared libraries PMOORE FFI::Win32:: ::Typelib idcO? FFI taking definitions from a type library PMOORE ::COM idcO? Access to COM using VTBL interface PMOORE Fortran:: ::NameList adpf? Interface to FORTRAN NameList data SGEL Python bmcf? Interface Python API (for embedded python) GAAS Python:: ::Object bmcO? Wrapper for python objects GAAS ::Err bmcO? Wrapper for python exceptions GAAS ShellScript:: ::Env adpO? Simple sh and csh script generator SVENH Shockwave:: ::Lingo i???? Collection of modules for Lingo processing MARTIN SystemC:: ::Netlist adpOp Build and lint netlist structures, AUTOs WSNYDER ::Parser adpOp Parse SystemC files WSNYDER ::Vregs adpOp Build Registers, Classes, Enums from HTML WSNYDER Tcl RdcO? Complete access to Tcl MICB ::Tk RdcO? Complete access to Tk *via Tcl* MICB Verilog:: ::Pli Rdchp Access to simulator functions WSNYDER ::Language Rdpfp Language support, number parsing, etc WSNYDER ::Parser RdpOp Language parsing WSNYDER ::SigParser RdpOp Signal and module extraction WSNYDER 10) File Names, File Systems and File Locking (see also File Handles) Name DSLIP 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 ::Backup bdpf? Easy file backup & rotation automation KWILLIAMS ::Basename Supf? Return basename of a filename P5P ::Cache adpO? Share data between processes via filesystem DCLINTON ::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 ::Find Supf? Call func for every item in a directory tree P5P ::Flock Mdph? flock() wrapper. Auto-create locks MUIR ::Glob adpf? Filename globing (ksh style) TYEMQ ::LckPwdF adcf? Lock and unlock the passwd file ALLENS ::Listing Rdpf? Parse directory listings GAAS ::Lock adcf? File locking using flock() and lockf() JHI ::MultiTail adpO? Tail multiple files SGMIANO ::Path Supf? File path and name utilities P5P ::Remote Rdph? Read/write/edit remote files transparently NWIGER ::Rsync bdpOp Copy efficiently over the net and locally LEAKIN ::Signature cdpf? Heuristics for file recognition JHI ::Slurp Mdpf? Read/write/append files quickly MUIR ::Sort Rdpfa Sort a file or merge sort multiple files 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 ::Temp Rdpfp Create temporary files safely TJENNESS ::chmod Mdpf? Allows for symbolic chmod notation PINYAN ::lockf bdcf? Interface to lockf system call PHENSON ::stat Supf? A by-name interface for the stat function TOMC ::BasicFlock Rdpf? Simple flock() wrapper MUIR ::Searcher bdpO? Search filetree do search/replace regexes ASTUBBS ::VirtualPath RdpO? Portable abstraction of a file/dir/url path DUNCAND ::NFSLock bdpOp NFS compatible (safe) locking utility RHANDOM File::Searcher:: ::Interactive bdpO? Interactive search do search/replace regexes ASTUBBS Dir:: ::Purge Rdpf? Delete files in directory based on timestamp JV Filesys:: ::AFS cdcO? AFS Distributed File System interface NOG ::Df Rdpr? Disk free based on Filesys::Statvfs IGUTHRIE ::DiskFree adpO? OS independant parser of the df command ABARCLAY ::Ext2 Rdpf? Interface to e2fs filesystem attributes JPIERCE ::SamFS adcfa Interface to SamFS API LUPE ::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 ::DiskSpace RdpO? Perl df (requires h2ph) FTASSIN LockFile:: Application-level locking facilities ::Lock adpO? Lock handles created by LockFile::* schemes RAM ::Manager adpO? Records locks created by LockFile::* RAM ::Scheme adpO? Abstract superclass for locking modules RAM ::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 DSLIP 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 ::CRC32 R?c?? ZMODEM-like CRC32 generation of strings as w SOENKE ::DiffLine bdcf? line # & position of first diff ALLEN ::Edit adpf? Assorted handy string editing functions TOMC ::Parity adpf? Parity (odd/even/mark/space) handling WINKO ::RexxParse Rdph? Perl implementation of REXX 'parse' command BLCKSMTH ::Scanf Rdpf? Implementation of C sscanf function JHI ::ShellQuote Rdpf? Quote string for safe passage through shells ROSCH ::Strip Rdcf? xs Module to remove white-space from strings BPOWERS ::Random RdpO? Perl module to generate random strings based STEVE ::Similarity MdcO? Calculate the similarity of two strings MLEHMANN Language text related modules Text:: ::Abbrev Supf? Builds hash of all possible abbreviations P5P ::Bastardize cdpO? corrupts text in various ways AYRNIEU ::Bib RdpO? Module moved to Text::Refer ERYQ ::BibTeX adcO? Parse BibTeX files GWARD ::CSV adpO? Manipulate comma-separated value strings ALANCITT ::CSV_XS adcO? 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 ::Iconv RdcO? Interface to iconv codeset conversion MPIOTR ::Invert cdpO? Create/query inv. index of text entities NNEUL ::Macros adpO? template macro expander (OO) JDPORTER ::Metaphone bdcf? A modern soundex. Phonetic encoding of words 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 ::SimpleTemplate adpO? Template for dynamic text generation TAIY ::Soundex Sdhf? 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 ::Templar RdpO? An object-oriented templating system GED ::Template MdpO? Expand template text with embedded perl MJD ::TreeFile bdpO? Reads tree of strings into a data structure JNK ::Vpp RdpO? Versatile text pre-processor DDUMONT ::Wrap Sdpf? Wraps lines to make simple paragraphs MUIR ::iPerl adpf? Bring text-docs to life via embedded Perl PFEIFFER ::DoubleMetaphone adcf? Convert string to phonetic encoding MAURICE ::FastTemplate bdpO? Perl subs from line-oriented templates BOZZIO ::Substitute adpf? Runtime backslash sequence substitution ILTZU ::xSV bdpO? Read CSV files, handling embedded returns TILLY ::Header bdpf? Content-independent RFC 822 header functions NWIGER ::BarGraph RdpO? Generate text bar graph from data in a hash KBAUCOM ::EtText RmpO? editable-text format for HTML output JMASON Text::PDF:: ::API Rmhh? Allows creation of nifty PDF-files. AREIBENS Text::Wrap:: ::Hyphenate a ? Like Text::Wrap with ability to hyphenate MJD Other Text:: modules (these should be under String:: but pre-date it) Text:: ::Balanced Mdpf? Extract balanced-delimiter substrings DCONWAY ::Banner adpf? Resembles UNIX banner command LORY ::Merge i???? Methods for text templating and data merging SHARRIS ::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:: ::DetectCharset a ? Heuristics to detect coded character sets JNEYSTADT ::Ident RdpO? Statistical language identification MPIOTR ::Ispell adpf? Interface to the Ispell spellchecker JDPORTER ::Stem Rdph? Word stemmer with localization SNOWHARE ::Preferred Rdpf? Pick a language based on user's preferences EDAVIS Specific Natural Languages Lingua:: ::EN i ? Namespace for English language modules ::PT bupf? Namespace for Portugese language modules EGROSS Lingua::EN:: ::AddressParse RdpO? Manipulate geographical addresses KIMRYAN ::Cardinal i ? Convert numbers to words HIGHTOWE ::Fathom RdpO? Readability measurements of English text KIMRYAN ::Hyphenate bdpf? Syllable based hyphenation DCONWAY ::Infinitive MdpO? Find infinitive of a conjugated word RSAVAGE ::Inflect Mdpf? English sing->plur, a/an, nums, participles DCONWAY ::MatchNames bdpf? Smart matching for human names BRIANL ::NameCase Rdpf? Convert NAMES and names to Correct Case SUMMER ::NameParse RdpO? Manipulate persons name KIMRYAN ::Nickname bdpf? Genealogical nickname matching(Peggy=Midge) BRIANL ::Ordinal i ? Convert numbers to words HIGHTOWE ::Squeeze bdpf? Shorten english text for Pagers/GSM phones JARIAALTO ::Syllable a ? Estimate syllable count in words GREGFAST Lingua::EN::Numbers:: ::Ordinate Rdpf? go from cardinal (53) to ordinal (53rd) SBURKE Lingua::Romana:: ::Perligata RdpO? Perl in Latin DCONWAY Lingua::RU:: ::Charset anpf? Detect/Convert russian character sets. FARBER ERG Rdpf? An extensible report generator framework PHOENIXL PostScript:: ::Barcode bdpf? Various types of barcodes as PostScript COLEMAN ::Basic bdpO? Basic methods for postscript generation STWIGGER ::Document bdpO? Generate multi-page PostScript SHAWNPW ::Elements bdpO? Objects for shapes, lines, images SHAWNPW ::Font RdpO? analyzes PostScript font files JV ::FontInfo RdpO? analyzes Windows font info files JV ::FontMetrics RdpO? analyzes Adobe Font Metric files JV ::Metrics bdpO? Font metrics data used by PS::TextBlock SHAWNPW ::Resources RdpO? loads Unix PostScript Resources file JV ::TextBlock bdpO? Objects used by PS::Document SHAWNPW ::PrinterFontMetrics bdpO? Get font metrics from .PFM files JV ::BasicTypesetter adpO? Basic typesetting functions JV ::PseudoISO RdpO? Typesetting supprort JV ::ISOLatin1Encoding RdpO? ISO Latin1 Encoding vector JV ::StandardEncoding Rdpf? Adobe Standard Encoding vector JV Font:: ::AFM RdpO? Parse Adobe Font Metric files GAAS ::TFM RdpO? Read info from TeX font metric files JANPAZ ::TTF bdpO? TrueType font manipulation module MHOSKEN ::Fret RdpO? Fret - Font REporting Tool MHOSKEN Number:: ::Format RdpO? Package for formatting numbers for display WRW ::Encode RdpO? Encode bit strings into digit strings LUISMUNOZ Number::Phone:: ::US Rdpf? Validates several US phone number formats KENNEDYH Email:: ::Find adpf? Find RFC 822 email addresses in plain text MSCHWERN Parse:: ::ePerl Rdcr? Embedded Perl (ePerl) parser RSE ::Lex adpO? Generator of lexical analysers PVERD ::RecDescent MdpO? Recursive descent parser generator DCONWAY ::Tokens bdpO? Base class for parsing tokens from text MCKAY ::Yapp RdpOp Generates OO LALR parser modules FDESAR ::YALALR RdpO? Yet Another LALR parser SFINK ::Vipar bdpO? Visual LALR parser debugger SFINK ::Lexer adpOa Conventional generator of lexical analyzers EKMETT Search:: ::Dict Supf? Search a dictionary ordered text file P5P ::InvertedIndex RdpO? Inverted index database support SNOWHARE ::Binary Rdpf? Generic binary search RANT SGML:: ::Element cdpO? Build a SGML element structure tree LSTAF ::Parser RdpO? SGML instance parser EHOOD ::SPGrove bd+O? Load SGML, XML, and HTML files KMACLEOD ::Entity RdpO? An entity defined in an SGML or XML document KMACLEOD SGMLS RdpO? A Post-Processor for SGMLS and NSGMLS INGOMACH XML RmhO? Large collection of XML related modules XMLML XML:: ::AutoWriter RdpO? DOCTYPE based XML output RBS ::CSV ampOa Transform comma separated values to XML ISTERIN ::Catalog RdpO? Resolve public identifiers and remap system EBOHLMAN ::DOM bdpO? Implements Level 1 of W3's DOM TJMATHER ::Doctype RdpO? A DTD object class RBS ::Dumper ampO? Converts XML from/to Perl code EISEN ::Edifact ????? Scripts for translating EDIFACT into XML KRAEHE ::Element RdpO? XML elements with the same interface as HTML SBURKE ::Encoding ????? Parses encoding map XML files COOPERCL ::Generator bdpO? Generates XML documents BHOLZMAN ::Grove RmpO? Flexible lightweight mid-level XML objects KMACLEOD ::PPD RdpO? PPD file format and XML parsing elements MURRAY ::PYX RdpO? XML to PYX generator MSERGEANT ::Parser bmcO? Flexible fast parser with plug-in styles COOPERCL ::QL ????? Implements the XML Query Language MSERGEANT ::Registry ampO? Implements a generic XML registry EISEN ::Sablotron RdcO? Interface to the Sablotron XSLT processor PAVELH ::TreeBuilder RdpO? Build a tree of XML::Element objects SBURKE ::Writer ????? Module for writing XML documents DMEGG ::XPath RdpO? A set of modules for parsing and evaluating MSERGEANT ::XQL ampO? Performs XQL queries on XML object trees TJMATHER ::XSLT RdcO? Process XSL Transformational sheets BRONG ::miniXQL ????? Simplistic XQL-like search using streams MSERGEANT ::Excel adpOa Transform Excel spreadsheet data into XML ISTERIN ::Xalan ad+O? Interface to Xalan (Apache XSLT processor) EDPRATOMO ::GXML MdpOp XML transformation and XML->HTML conv. JCARTER XML::SAXDriver:: ::CSV impOp complements XML::CSV, SAX interface ISTERIN ::Excel idpO? complements XML::Excel, SAX interface ISTERIN Frontier:: ::RPC ????? Performs Remote Procedure Calls using XML KMACLEOD RDF:: ::Service ampO? RDF API with DBI and other backends JONAS RTF:: ::Base i ? Classes for Microsoft Rich Text Format NI-S ::Generator cdpO? Next Generation of RTF::Document RRWO ::Parser a ? Base class for parsing RTF files PVERD SQL:: ::Schema bdpO? Convert a data dictionary to SQL statements TODD ::Statement adcO? Small SQL parser and engine JWIED ::Builder adpO? OO interface for creating SQL statements ZENIN ::Generator adpO? Generate SQL-queries via OO perl MUENALAN TeX:: ::DVI RdpO? Methods for writing DVI (DeVice Independent) JANPAZ ::Hyphen RdpO? Hyphenate words using TeX's patterns JANPAZ FrameMaker cdpO? Top level FrameMaker interface PEASE FrameMaker:: ::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 RdpO? Eliza algorithm encapsulated in an object JNOLAN Quiz:: ::Question cdpO? Questions and Answers wrapper RFOLEY Template RdpO? Extensive Toolkit for template processing ABW dTemplate RmpO? Flexible templating system DLUX Barcode:: ::Code128 adpO? Generate CODE 128 bar codes WRW Syntax::Highlight:: ::Perl Rdph? Perform syntax highlighting of Perl code JOHNSCA XMLI bmpOa Encapsulates XML drivers ISTERIN CSS:: ::SAC bdpO? Perl implementation of the Simple API to CSS RBERJON Whitespace MdpOp Detect and cleanup bogus whitespace in files RVAIDH PDF RdpO? PDF access and manipulation in Perl ANTRO PDF:: ::Core RdpO? Core Library for PDF library ANTRO ::Parse RdpO? parsing functions for PDF library ANTRO ::Create RmpOd Create PDF files FTASSIN ::Labels bdpO? Produce sheets of mailing labels in PDF OWEN 12) Option, Argument, Parameter and Configuration File Processing Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Getopt:: ::ArgvFile Rdpf? Take options from files JSTENZEL ::Declare MdpO? An easy-to-use WYSIWYG command-line parser DCONWAY ::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 Sdpr? Advanced handling of command line options JV ::Mixed Rdpf? Supports both long and short options CJM ::Regex ad ? Option handling using regular expressions JARW ::Simple MdpO? A simple-to-use interface to Getopt::Long RSAVAGE ::Std Supf? Implements basic getopt and getopts P5P ::Tabular adpr? Table-driven argument parsing with help text GWARD ::Tiny adpr? Table of references interface, auto usage() MUIR Getargs:: ::Long adpf? Parses long function args f(-arg => value) RAM Argv bdph? Provide an OO interface to an ARGV DSB ConfigReader cdpO? Read directives from configuration file AMW Resources bdpf? Application defaults management in Perl FRANCOC App:: General application development tools ::Config bdpO? Configuration file mgmt ABW ::Manager adch? Installing/Managing/Uninstalling Software MLEHMANN Config:: ::FreeForm bdpfp Provide in-memory configuration data BTROTT ::IniFiles ? Read/Write INI-Style configuration files RBOW ::Ini RdpO? Accesses Windows .ini and .reg files AVATAR CfgTie adph? Framework for tieing system admin tasks RANDYM AppConfig MdpO? Application config (from ARGV, file, ...) ABW AppConfig:: ::Std RdpO? Provides standard configuration options NEILB 13) Internationalization and Locale Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- I18N:: ::Charset Rdpf? Character set names and aliases MTHURN ::Collate Sdpr? Locale based comparisons JHI ::LangTags Mdpf? compare & extract language tags (RFC1766) SBURKE ::WideMulti i ? Wide and multibyte character string JHI Locale:: ::Country Rdpf? ISO 3166 two letter country codes NEILB ::Date adpf? Month/weekday names in various languages JHI ::Langinfo cdcf? The API JHI ::Language Rdpf? ISO 639 two letter language codes NEILB ::Msgcat RdcO? Access to XPG4 message catalog functions CHRWOLF ::PGetText bdpf? What GNU gettext does, written in pure perl MSHOYHER ::SubCountry RdpO? ISO 3166-2 two letter subcountry codes KIMRYAN ::gettext Rdcf? Multilanguage messages PVANDRY ::Maketext RdpO? Framework for software localization SBURKE ::PO RdpO? Manipulate .po entries from gettext ALANSZ ::Currency Rdpf? ISO 4217 codes for currencies and funds NEILB Unicode:: ::String RdcO? String manipulation for Unicode strings GAAS ::Map8 RdcO? Convert between most 8bit encodings GAAS ::Normal i???? Composition, canonical ordering, blocks MHOSKEN ::MapUTF8 Rdpf? Conversions to and from arbitrary charsets SNOWHARE No:: ::Dato Rdpf? Norwegian stuff GAAS ::KontoNr Rdpf? Norwegian stuff GAAS ::PersonNr Rdpf? Norwegian stuff GAAS ::Sort Rdpf? Norwegian stuff GAAS ::Telenor Rdpf? Norwegian stuff GAAS Cz:: ::Cstocs RdpO? Charset reencoding JANPAZ ::Sort RdpO? Czech sorting JANPAZ ::Speak bdpf? number, etc. convertor to the Czech language YENYA Geography:: ::States Rdp?? Map states and provinces to their codes ABIGAIL Sort:: ::ArbBiLex Mdpf? sort functions for arbitrary sort orders SBURKE 14) Authentication, Security and Encryption (see also Networking) Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- User:: ::Utmp Rdcf? Perl access to UNIX utmp(x)-style databases MPIOTR ::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 PGP:: ::Sign bdpr? Create/verify PGP/GnuPG signatures, securely RRA GnuPG bdpO? Perl interface to the GNU privacy guard. FRAJULAC GnuPG:: ::Interface MdpO? OO interface to GNU Privacy Guard FTOBIN DES adcf? DES encryption (libdes) EAYNG Des adcf? DES encryption (libdes) MICB GSS adcO? Generic Security Services API (RFC 2078) MSHLD OpenCA RmpO? Tools for running a Certification Authority MADWOLF SMIMEUtil amhf? Sign, encrypt, verify, decrypt S/MIME mail SAMPO Digest:: ::MD5 Rdch? MD5 message digest algorithm GAAS ::MD2 Rdch? MD2 message digest algorithm GAAS ::SHA1 cdch? NIST SHA message digest algorithm UWEH ::HMAC Rdph? HMAC message integrity check GAAS ::UserSID adph? Managing session-id's with Digest::SHA1 XWOLF ::BubbleBabble bdpfp Create bubble-babble fingerprints BTROTT Crypt:: ::Beowulf Rdpf? An original, very fast encryption algorithm SIFUKURT ::Blowfish RdhO? XS-based implementation of Blowfish DPARIS ::Blowfish_PP adpO? Blowfish encryption algorithm in Pure Perl MATTBM ::CBC adpO? Cipherblock chaining for Crypt::DES/IDEA LDS ::CBCeasy bdpf? Easy things make really easy with Crypt::CBC MBLAZ ::DES a ? DES encryption (libdes) GARY ::ElGamal bdpO? ElGamal digital signatures and keys VIPUL ::IDEA a ? International Data Encryption Algorithm GARY ::Keys adpO? Management system for cryptographic keys VIPUL ::OTP Rdpf? Implements One Time Pad encryption SIFUKURT ::Passwd Mdhf? Perl wrapper around the UFC Crypt LUISMUNOZ ::PasswdMD5 Mdhf? Interoperable MD5-based crypt() function LUISMUNOZ ::PRSG a ? 160 bit LFSR for pseudo random sequences GARY ::RC4 Rdpf? Implements the RC4 encryption algorithm SIFUKURT ::Random bdpO? Cryptographically Strong Random Numbers VIPUL ::Rot13 cdpO? simple encryption often seen on usenet AYRNIEU ::RSA bdpO? RSA public-key cryptosystem. VIPUL ::Solitaire Rdpf? A very simple encryption system SIFUKURT ::Twofish RdcOa The Twofish Encryption Algorithm AMS ::UnixCrypt Rdpf? Perl-only implementation of crypt(3) MVORL ::RandPasswd RdpO? Random password generator based on FIPS-181 JDPORTER ::Rijndael bdch? AES/Rijndael Encryption Module DIDO ::TripleDES RdpO? Triple DES encyption. VIPUL ::PGP5 bdpO? An Object Oriented Interface to PGP5. AGUL ::PGP6 cdpO? An Object Oriented Interface to PGP6. AGUL ::PGP cdpO? Unified OO Interface to PGP and GnuPG AGUL ::GPG bdpO? An Object Oriented Interface to GnuPG AGUL ::ECB Mdph? ECB mode for Crypt::DES, Blowfish, etc. APPEL ::CipherSaber RdpO? OO module for CS-1 and CS-2 encryption CHROMATIC ::PGPSimple cdpO? Basic interface to PGP JHINKLE ::TEA RdcOa Tiny Encryption Algorithm AMS ::DSA bdpOp DSA signatures and key generation BTROTT ::NULL RdpOa NULL Encryption Algorithm AMS ::DH bdpOp Diffie-Hellman key exchange system BTROTT ::PassGen adpfp Generate pronouncable passwords TJENNESS ::GOST bdpO? GOST encryption algorithm AMS Crypt::OpenSSL:: ::RSA bdcO? Interface to OpenSSL RSA methods IROBERTS ::Random bdcO? Interface to OpenSSL PRNG methods IROBERTS ::BN bdcO? Interface to OpenSSL arithmetic IROBERTS Crypt::Schnorr:: ::AuthSign bdpOp Schnorr Authentication & Signature Protocols AGUL Authen:: ::ACE adcO? Interface to Security Dynamics ACE (SecurID) DCARRIGAN ::Krb4 RdcO? Interface to Kerberos 4 API JHORWITZ ::Krb5 RdcO? Interface to Kerberos 5 API JHORWITZ ::PAM bdch? Interface to PAM library NIKIP ::TacacsPlus adcO? Authentication on tacacs+ server MSHOYHER ::Ticket adpO? Suite consisting of master/client/tools JSMITH ::PIN RdpO? Create and verify strong PIN numbers LUISMUNOZ 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 DSLIP Description Info ------------ ----- -------------------------------------------- ---- URI:: ::Attr ampO? Stores attributes in the URI name space LWWWP ::Bookmark bdpO? A Class for bookmarks ASPIERS ::Bookmarks bdpO? A Class for bookmark collections ASPIERS ::Escape Rmpf? General URI escaping/unescaping functions LWWWP ::Find adpf? Find URIs in plain text MSCHWERN ::URL RmpO? Uniform Resource Locator objects LWWWP CGI:: ::Application MmpOp Framework for building reusable web-apps JERLBAUM ::ArgChecker bdpO? Consistent, extensible CGI param validation DLOWE ::Authent Mdpf? request the HTTP authentification JENDA ::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 DCOPPIT ::Carp cmpf? Drop-in Carp replacement for CGI scripts CGIP ::Debug Mdph? show CGI debugging data JONAS ::Deurl Mdpr? decode the CGI parameters JENDA ::Enurl Mdpr? encode the CGI parameters JENDA ::Formalware MdpO? Convert an XML file to a suite of CGI forms RSAVAGE ::Imagemap Rdph? Imagemap handling for specialized apps MIKEH ::LogCarp Rdph? Error, log, bug streams, httpd style format MIKEKING ::MiniSvr RmpO? Fork CGI app as a per-session mini server CGIP ::Minimal MdpO? A micro-sized CGI handler SNOWHARE ::MultiValuedHash bdpO? Store and manipulate url-encoded data DUNCAND ::MxScreen adpO? Screen multi-plexer framework RAM ::Out adpf? Buffer CGI output and report errors MUIR ::PathInfo RdpO? A lightweight PATH_INFO based CGI package SNOWHARE ::Persistent adpO? Transparent State Persistence in CGI scripts VIPUL ::Query adpO? Parse CGI quiry strings MPECK ::QuickForm Rdpf? Handles UI & validation for CGI forms SUMMER ::Request RmpO? Parse CGI request and handle form fields CGIP ::Response ampO? Response construction for CGI applications MGH ::SSI_Parser bdpf? Implement SSI for Perl CGI VADIM ::Screen adpO? Create multi screen CGI-scripts ULPFR ::Session cdpO? Persistent storage of complex data in CGI ZED ::SpeedyCGI Mmcn? Run perl CGI scripts persistenly HORROCKS ::Validate adpO? Advanced CGI form parser ZENIN ::WML RdpO? Subclass of CGI.pm for WML output AWOOD ::XML ampO? Convert CGI.pm variables to/from XML EISEN ::XMLForm adpO? Create/query XML for forms MSERGEANT ::SecureState bdpO? Securely stores CGI parameters BEHROOZI ::State bdpf? CGI params into multi-dimensional hash DKUBB ::SSI RdpO? Use SSI from CGI scripts JAMES ::FormMagick bmpO? FormMagick SKUD ::Test adpO? Off-line CGI test framework RAM ::Portable adpO? Framework for server-agnostic web apps DUNCAND HTML:: ::Base adpO? Object-oriented way to build pages of HTML GAND ::CalendarMonth RmpO? Calendar Months as easy HTML::Element trees MSISK ::Demoroniser adpO? Correct moronic and incompatible HTML JDPORTER ::EP adpO? Modular, extensible Perl embedding JWIED ::Element RdpO? Representation of a HTML parsing tree SBURKE ::ElementGlob RmpO? Manipulate multiple HTML elements as one MSISK ::ElementRaw RmpO? Graft HTML strings onto an HTML::Element MSISK ::ElementSuper RmpO? Various HTML::Element extensions MSISK ::ElementTable RmpO? Tables as easy HTML element structures MSISK ::Embperl Rmcf? Embed Perl in HTML GRICHTER ::Entities Rmpf? Encode/decode HTML entities LWWWP ::FillInForm bdpO? Fill in HTML forms, separating HTML and code TJMATHER ::Formatter ampO? Convert HTML to plain text or Postscript LWWWP ::HeadParser RmpO? Parse section of HTML documents LWWWP ::LinkExtor RmpO? Extract links from HTML documents LWWWP ::Mason bdpO? Build sites from modular Perl/HTML blocks JSWARTZ ::ParseForm i ? Parse and handle HTML forms via templates NMONNET ::Parser RmcO? Basic HTML Parser LWWWP ::QuickCheck cdpf? Fast simple validation of HMTL text YLU ::Simple bdpf? Simple functions for generating HTML TOMC ::SimpleParse RdpO? Bare-bones HTML parser KWILLIAMS ::StickyForms adpO? HTML form generation for mod_perl/CGI PMH ::Stream RdpO? HTML output stream ERYQ ::Subtext adpO? Text substitutions on an HTML template KAELIN ::Table RupOp Write HTML tables via spreadsheet metaphor AJPEACOCK ::TableExtract RmpO? Flexible HTML table extraction MSISK ::TableLayout bdpO? an extensible OO layout manager PERSICOM ::Template MmpO? a simple HTML templating system SAMTREGAR ::TokeParser RmpO? Alternative HTML::Parser interface LWWWP ::Validator bdpO? HTML validator utilizing nsgmls and libwww SAIT ::Tagset Rdpf? data tables useful in parsing HTML SBURKE ::EasyTags RdpO? Make proper HTML 4 tags/lists/parts DUNCAND ::FormTemplate bdpO? Store definition, make persist forms, report DUNCAND ::LoL Rdpf? Construct HTML from Perl data structures BOBG ::ActiveLink bdpO? Dynamically activate HTML links based on URL NWIGER ::WebMake RmpO? simple web site management system JMASON ::Lint bdpOp HTML validation module (& script) PETDANCE HTML::Widgets:: ::DateEntry RdpO? Creates date entry widgets for HTML forms. KENNEDYH ::Menu RdpO? Builds an HTML menu FRANKIE ::Search RdpO? Perl module for building searches returning FRANKIE HTTP:: ::Browscap cdpO? Provides info on web browser capabilities JAMESPO ::BrowserDetect adph? Detect browser, version, OS from UserAgent LHS ::Cookies RmpO? Storage of cookies LWWWP ::DAV ampO? A client module for the WebDAV protocol PCOLLINS ::Daemon RmpO? Base class for simple HTTP servers LWWWP ::Date Rmpf? Date conversion for HTTP date formats LWWWP ::Headers RmpO? Class encapsulating HTTP Message headers LWWWP ::Message RmpO? Base class for Request/Response LWWWP ::Negotiate Rmpf? HTTP content negotiation LWWWP ::Request RmpO? Class encapsulating HTTP Requests LWWWP ::Response RmpO? Class encapsulating HTTP Responses LWWWP ::Status Rmpf? HTTP Status code processing LWWWP ::GHTTP RdcO? Perl interface to the gnome ghttp library MSERGEANT ::WebTest Rdph? Run tests on remote URLs or local web files RANDERSON ::QuickBase RdpO? Wraps the QuickBase HTTP API CVONROES ::Webdav amhOp Interface to Neon HTTP and WebDAV library GRICHTER HTTP::Request:: ::Common Rmpf? Functions that generate HTTP::Requests LWWWP ::Form RdpO? Generates HTTP::Request objects out of forms GBAUER WAP:: ::Wbmp i???? Wireless bitmap manipulation module SAA ::WML i???? Wireless Markup language routines SAA WML:: ::Card RdpO? Builds WML code for different wap browsers MALVARO ::Deck RdpO? WML Deck generator MALVARO HTTPD:: ::Access cdpO? Management of server access control files LDS ::Authen bdpO? Preform HTTP Basic and Digest Authentication LDS ::Config cdpO? Management of server configuration files LDS ::GroupAdmin bdpO? Management of server group databases LDS ::UserAdmin bdpO? Management of server user databases LDS WWW:: ::BBSWatch RdpO? email WWW bulletin board postings TAYERS ::Robot adpO? Web traversal engine for robots & agents NEILB ::RobotRules ampO? Parse /robots.txt file LWWWP ::Search RdpO? Front-end to Web search engines MTHURN WWW::Search:: ::AlltheWeb RdpO? Class for searching AlltheWeb JSMYSER ::Go RdpO? Backend class for searching with go.com ALIAN ::FirstGov RdpO? Backend class for searching FirstGov.gov SUTCH ::Ebay RdpO? search auctions on www.ebay.com MTHURN ::Excite RdpO? search on www.excite.com MTHURN ::HotBot RdpO? search on www.hotbot.com MTHURN ::Lycos RdpO? search on www.lycos.com MTHURN ::Magellan RdpO? search on Magellan MTHURN ::Yahoo RdpO? search various flavors of www.yahoo.com MTHURN LWP RmpO? Libwww-perl LWWWP LWP:: ::Conn ampO? LWPng stuff LWWWP ::MediaTypes Rmpf? Media types and mailcap processing LWWWP ::Parallel RmpO? Allows parallel http, https and ftp access 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 ::UA ampO? LWPng stuff LWWWP ::UserAgent RmpO? A WWW UserAgent class LWWWP MIME:: ::Base64 Rdhf? Encode/decode Base 64 (RFC 2045) GAAS ::QuotedPrint Rdpf? Encode/decode Quoted-Printable GAAS ::Decoder RdpO? OO interface for decoding MIME messages ERYQ ::Entity RdpO? An extracted and decoded MIME entity ERYQ ::Head RdpO? A parsed MIME header ERYQ ::IO ?dpO? DEPRECATED: now part of IO:: ERYQ ::Latin1 ?dpO? DEPRECATED and removed ERYQ ::Lite RdpO? Single module for composing simple MIME msgs ERYQ ::Parser RdpO? Parses streams to create MIME entities ERYQ ::Types adpr? Returns the MIME type for a filename/suffix OKAMOTO ::Words Rdpf? Encode/decode RFC1522-escaped header strings ERYQ MIME::Lite:: ::HTML bmpO? Provide routine to transform HTML to MIME ALIAN Apache RmcO? Interface to the Apache server API DOUGM Apache PerlHandler modules Apache:: ::ASP bdpO? Implement Active Server Pages CHAMAS ::AdBanner cdpf? Ad banner server CHOLET ::AddrMunge bdpf? Munge email addresses in webpages MJD ::Archive bdpf? Make linked contents pages of .tar(.gz) JPETERSON ::AutoIndex Rdcf? Lists directory content GOZER ::AxKit RdcO? XML Application Server for Apache MSERGEANT ::BBS cdpO? BBS like System for Apache MKOSSATZ ::CallHandler cdpf? Map filenames to subroutine calls GKNOPS ::Compress bdpO? Compress content on the fly KWILLIAMS ::Dir i ? OO (subclassable) mod_dir replacement DOUGM ::Dispatch bmpf? Call PerlHandlers as CGI scripts GEOFF ::Embperl Rmcf? Embed Perl in HTML GRICHTER ::EmbperlChain bdpO? Feed handler output to Embperl CHOLET ::FTP i ? Full-fledged FTP proxy PMKANE ::Filter RdpO? OutputChain like functionality KWILLIAMS ::Forward bdpO? OutputChain like functionality MPB ::Gateway bdpf? A multiplexing gateway CCWF ::GzipChain bmpf? Compress files on the fly ANDK ::Layer bdpf? Layer content tree over one or more SAM ::Magick bdpf? Image conversion on-the-fly MPB ::Mason bdpO? Build sites w/ modular Perl/HTML blocks JSWARTZ ::ModuleDoc bdpf? Self documentation for Apache C modules DOUGM ::NNTPGateway adpf? A Web based NNTP (usenet) interface BOUBAKER ::NavBar bdpO? Navigation bar generator MPB ::OWA bdpf? Runs Oracle PL/SQL Web Toolkit apps SVINTO ::OutputChain bmpO? Chain output of stacked handlers JANPAZ ::PageKit ampO? Application framework w/ HTML::Template TJMATHER ::PassFile bdpf? Send file via OutputChain ANDK ::PerlRun Smpf? Run unaltered CGI scripts APML ::PrettyPerl Rdpf? Syntax highlighting for Perl files RA ::PrettyText bdpf? Re-format .txt files for client display CHTHORMAN ::RandomLocation bdpf? Random image display RKOBES ::Registry Smpf? Run unaltered CGI scripts APML ::Reload RdpO? Reload changed modules (extending StatINC) MSERGEANT ::RobotRules cdpf? Enforce robot rules (robots.txt) PARKER ::SSI RmpO? Implement server-side includes in Perl KWILLIAMS ::SSIChain bmpO? SSI on other modules output JANPAZ ::Sandwich bmpf? Layered document (sandwich) maker VKHERA ::ShowRequest bdpf? Show phases and module participation DOUGM ::SimpleReplace ampf? Simple replacement template tool GEOFF ::Stage Rdpf? Manage a document staging directory ANDK ::TarGzip c ? Manage .tar.gz file ZENIN ::TimedRedirect bdpf? Redirect urls for a given time period PETERM ::UploadSvr bdpO? A lightweight publishing system ANDK ::VhostSandwich cdpf? Virtual host layered document maker MARKC ::WDB bdpf? Database query/edit tool using DBI JROWE ::WebSQL cdpO? Adaptation of Sybase's WebSQL GUNTHER ::ePerl Rdpr? Fast emulated Embedded Perl (ePerl) RSE ::iNcom bdpf? An e-commerce framework FRAJULAC ::CVS bdpO? Apache PerlContentHandler for CVS BARBEE ::Motd adph? Provides motd functionality to a webserver CRAMIREZ ::DnsZone bdpna Webbased dns-zone manager for BIND THOMAS Apache::ASP:: ::Lite impO? Lightweight IIS emulation under Apache FERGUSOR Apache PerlInitHandler modules Apache:: ::RequestNotes ampf? Pass cookie & form data around pnotes GEOFF Apache PerlAuthenHandler modules Apache:: ::AuthAny bdpf? Authenticate with any username/password MPB ::AuthenCache bmpf? Cache authentication credentials JBODNAR ::AuthCookie RdpO? Authen + Authz via cookies MSCHOUT ::AuthenDBI bmpO? Authenticate via Perl's DBI MERGL ::AuthenGSS cdpf? Generic Security Service (RFC 2078) DOUGM ::AuthenIMAP bdpf? Authentication via an IMAP server MICB ::AuthenPasswdSrv bdpf? External authentication server JEFFH ::AuthenPasswd bdpf? Authenticate against /etc/passwd DEP ::AuthLDAP bdpf? LDAP authentication module CDONLEY ::AuthPerLDAP bdpf? LDAP authentication module (PerLDAP) HENRIK ::AuthenNIS bdpf? NIS authentication DEP ::AuthNISPlus bdpF? NIS Plus authentication/authorization VALERIE ::AuthenRaduis bdpf? Authentication via a Radius server DANIEL ::AuthenSmb bdpf? Authenticate against NT server PARKER ::AuthenURL bdpf? Authenticate via another URL JGROENVEL ::DBILogin bdpf? Authenticate/authorize to backend database JGROENVEL ::DCELogin bdpf? Obtain a DCE login context DOUGM ::PHLogin bdpf? Authenticate via a PH database JGROENVEL ::TicketAccess bdpO? Ticket based access/authentication MPB Apache PerlAuthzHandler modules Apache:: ::AuthzAge bmpf? Authorize based on age APML ::AuthzDCE cdpf? DFS/DCE ACL based access control DOUGM ::AuthzDBI bmpO? Group authorization via Perl's DBI MERGL ::AuthzGender bdpf? Authorize based on gender MPB ::AuthzNIS bdpf? NIS authorization DEP ::AuthzPasswd bdpf? Authorize against /etc/passwd DEP ::AuthzSSL bdpf? Authorize based on client cert MPB ::RoleAuthz i ? Role-based authorization DOUGM Apache PerlAccessHandler modules Apache:: ::AccessLimitNum bmpf? Limit user access by number of requests APML ::BlockAgent bdpf? Block access from certain agents MPB ::DayLimit bmpf? Limit access based on day of week MPB ::IPThrottle cdpf? Limit bandwith consumption by IP MERLYN ::RobotLimit cdpf? Limit access of robots PARKER ::SpeedLimit bdpf? Control client request rate MPB Apache PerlTypeHandler modules Apache:: ::MIME bdcf? Perl implementation of mod_mime MPB ::MimeDBI bdpf? Type mapping from a DBI database MPB ::MimeXML bdpf? mime encoding sniffer for XML files MSERGEANT Apache PerlTransHandler modules (May also include a PerlHandler) Apache:: ::AdBlocker bdpf? Block advertisement images MPB ::AddHostPath adpf? Prepends parts of hostname to URI RJENKS ::AnonProxy bdpf? Anonymizing proxy MPB ::Checksum bdpf? Manage document checksum trees MPB ::DynaRPC i ? Dynamically translate URIs into RPCs DOUGM ::LowerCaseGETs bdpf? Lowercase URI's when needed PLISTER ::MsqlProxy bmpf? Translate URI's into mSQL queries APML ::ProxyPass bdpf? Perl implementation of ProxyPass MJS ::ProxyPassThru bdpO? Skeleton for vanilla proxy RMANGI ::ProxyCache i ? Caching proxy DOUGM ::StripSession bdpf? Strip session info from URI MPB ::Throttle bdpf? Speed-based content negotiation DONS ::TransLDAP bdpf? Translate URIs to LDAP queries CDONLEY Apache PerlFixupHandler modules Apache:: ::RefererBlock bdpf? Block based on MIME type + Referer CHOLET ::Timeit bmpf? Benchmark PerlHandlers APML ::Usertrack bdpf? Perl version of mod_usertrack ABH Apache PerlLogHandler modules Apache:: ::DBILogConfig bdpf? Custom format logging via DBI JBODNAR ::DBILogger bdpf? Logging via DBI ABH ::DumpHeaders bdpf? Watch HTTP transaction via headers DOUGM ::LogMail bdpf? Log certain requests via email MPB ::Traffic bdpf? Logs bytes transferred, per-user basis MAURICE ::WatchDog c ? Look for problematic URIs DOUGM Apache PerlChildInitHandler modules Apache:: ::Resource Smpf? Limit resources used by httpd children APML Apache Server Configuration Apache:: ::ConfigLDAP i ? Config via LDAP and MARKK ::ConfigDBI i ? Config via DBI and MARKIM ::ModuleConfig SmcO? Interface to configuration API APML ::PerlSections SmpO? Utilities for sections APML ::httpd_conf bmpO? Methods to configure and run an httpd APML ::src SmpO? Finding and reading bits of source APML Apache Database modules Apache:: ::DBI bmpO? Persistent DBI connection mgmt. MERGL ::Mysql bdpO? Persistent connection mgmt. for Mysql NJENSEN Apache::Sybase:: ::DBlib bmpO? Persistent DBlib connection mgmt. BMILLETT ::CTlib Mdpn? Persistent CTlib connection mgmt for Apache MDOWNING Interfaces and integration with Apache C structures and modules Apache:: ::Backhand bdcr? Bridge between mod_backhand + mod_perl DLOWE ::CmdParms SmcO? Interface to Apache cmd_parms struct APML ::Command bmcO? Interface to Apache command_rec struct APML ::Connection SmcO? Inteface to Apache conn_rec struct APML ::Constants Smcf? Constants defined in httpd.h APML ::ExtUtils SmpO? Utils for Apache:C/Perl glue APML ::File SmcO? Methods for working with files APML ::Handler bmcO? Interface to Apache handler_rec struct APML ::Log SmcO? ap_log_error interface APML ::LogFile bmcO? Interface to Apache's piped logs, etc. APML ::Module bmcO? Interface to Apache module struct APML ::Scoreboard RdcO? Perl interface to Apache's scoreboard.h DOUGM ::Server SmcO? Interface to Apache server_rec struct APML ::SubProcess cmcO? Interface to Apache subprocess API APML ::Table SmcO? Interface to Apache table struct + API APML ::URI SmcO? URI component parsing and unparsing APML ::Util Smcf? Interface to Apache's util*.c functions APML HTTP Method handler Apache:: ::PATCH bdpf? HTTP PATCH method handler MPB ::PUT cdpf? HTTP PUT method handler SORTIZ ::Roaming bdpO? PUT/GET/MOVE/DELETE (Netscape Roaming) JWIED Watchdog and Monitoring tools Apache:: ::SizeLimit Smpf? Graceful exit for large children APML ::GTopLimit Sdpn? Child exit on small shared or large mem STAS ::Status Smpf? Embedded interpreter runtime status APML ::VMonitor Mdpn? Visual System and Processes Monitor STAS Apache::Watchdog:: ::RunAway Rdpn? RunAway processes watchdog/terminator STAS Development and Debug tools Apache:: ::DB amcO? Hook Perl interactive DB into mod_perl DOUGM ::Debug Rmpf? mod_perl debugging utilities APML ::DebugInfo ampO? Per-request data logging GEOFF ::DProf bmcf? Hook Devel::DProf into mod_perl DOUGM ::FakeRequest ampO? Implement Apache methods off-line APML ::Leak bmcf? Memory leak tracking routines APML ::Peek amcf? Devel::Peek for mod_perl APML ::SawAmpersand bmpf? Make sure noone is using $&, $' or $` APML ::SmallProf bmpf? Hook Devel::SmallProf into mod_perl DOUGM ::StatINC Smpf? Reload require'd files when updated APML ::Symbol bmcO? Things for symbol things APML ::Symdump bmpf? Symbol table snapshots to disk APML ::test Smpf? Handy routines for 'make test' scripts APML Miscellaneous Apache modules Apache:: ::Byterun i ? Run Perl bytecode modules DOUGM ::Cookie amcO? C version of CGI::Cookie APML ::Icon bdcO? Access to AddIcon* configuration DOUGM ::Include Smpf? mod_include + Apache::Registry handler APML ::Mmap bdcf? Share data via Mmap module FLETCH ::ParseLog bdpO? OO interface to Apache log files AKIRA ::RegistryLoader SmpO? Apache::Registry startup script loader APML ::Request amcO? CGI.pm functionality using API methods JIMW ::Safe ampO? Adaptation of "safecgiperl" APML ::Session bmpO? Maintain client <-> httpd session/state JBAKER ::Servlet ampO? Interface to the Java Servlet engine IKLUFT ::SIG SmpO? Signal handlers for mod_perl APML ::State i ? Powerful state engine RSE ::TempFile bdpf? Manage temporary files TOMHUGHES ::Upload amcO? File upload class APML Netscape:: ::Bookmarks bdp?? Netscape bookmarks BDFOY ::Cache bdpOp 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 Rdpf? Get, put, copy, delete files located by URL BZAJAC WebCache:: ::Digest bdpf? Internet Cache Protocol (RFCs 2186 and 2187) MHAMILTON ASP Rdpr? Perl interface to ASP PerlScript TIMMY Authorizenet bdpf? Get Credit Card Info from authorizenet DLINCOLN BizTalk RdpO? Microsoft BizTalk Framework Toolkit SIMONJ CGI_Lite MnpO? Light-weight interface for fast apps SHGUN CIPP RdpO? Preprocessor for embedding Perl, SQL in HTML JRED Catalog bmpO? Manage/display resources catalog (URLs etc.) LDACHARY WDDX RdpO? Allows distributed data exchange via XML GUELICH WING RmhO? Apache based IMAP/NNTP Gateway MICB WOMP cdpO? CGI App Dev Suite: authen/state/html SPADKINS FCGI Rdcr? Fast CGI SKIMO FCGI:: ::ProcManager bdpO? A FastCGI process manager JURACH PApp bmch? Multi-page-state-preserving web applications MLEHMANN OurNet Rmch? Interface to BBS-based groupware platforms AUTRIJUS HTTP:QuickBase RdpO? Wraps the QuickBase HTTP API CVONROES UDDI RdpO? UDDI client interface GAAS 16) Server and Daemon Utilities Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- MailBot cdpO? Archive server, listserv, auto-responder RHNELSON Mud cdcO? A multi-user online interactive game server GED Event bmch? fast, generic event loop JPRIT Event:: ::Stats Rmcf? Collects statistics for Event JPRIT ::tcp bmpO? TCP session layer library JPRIT EventServer RupO? Triggers objects on i/o, timers & interrupts JACKS ::Functions Rupf? Utility functions for initializing servers JACKS ::Gettimeofday Rupr? gettimeofday syscall wrapper JACKS ::Signal Rupr? signalhandler for the eventserver JACKS FUSE:: ::Server RdpO? Custom FUSE server creation IAMCAL ::Client cdpOp Custom FUSE client creation IAMCAL NetServer:: ::Compiler idph? State machine compiler for TCP/IP servers CHSTROSS ::Generic RdpO? generic OOP class for internet servers CHSTROSS ::Portal bmpO? Sets up a mini-server accessible via telnet JPRIT Reefknot:: ::Server impO? RFC2445 calendar server SRL ::Client impO? RFC2445 calendar client SRL 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 Spool:: ::Queue i ? Generic printer spooling facilities RAM Time:: ::Warp Rmcf? Change the start and speed of Event time JPRIT 17) Archiving, Compression and Conversion Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Compress:: ::Bzip2 Rdcf? Interface to the Bzip2 compression library AZEMGI ::LZO Rdcf? Interface to the LZO compression library MFX ::LZV1 Mdcf? Leight-weight Lev-Zimpel-Vogt compression MLEHMANN ::Zlib RdcO? Interface to the Info-Zip zlib library PMQS ::LZF Rdcf? Fast/Free/Small data compression library MLEHMANN Convert:: ::ASN1 adpO? Standard en/decode of ASN.1 structures GBARR ::BER adpO? Class for encoding/decoding BER messages GBARR ::BinHex anpO? Convert to/from RFC1741 HQX7 (Mac BinHex) ERYQ ::EBCDIC adpf? ASCII to/from EBCDIC CXL ::Recode Rdpf? Mapping functions between character sets GAAS ::SciEng bdpO? Convert numbers with scientific notation COLINK ::Translit MdpO? String conversion among many character sets GENJISCH ::UU bdpf? UUencode and UUdecode ANDK ::UUlib Mdcr? Intelligent de- and encode (B64, UUE...) MLEHMANN ::GeekCode bnph? Convert and generate geek code sequences AUTRIJUS ::IBM390 bdhf? Convert data from/to S/390 representations GROMMEL ::Morse Rdpf? Convert from/to Morse code (.--. . .-. .-..) TELS ::RACE bdpf? Conversion between Unicode and RACE MIYAGAWA ::Base adph? Convert integers to/from arbitrary bases. VIPUL ::PEM bdpOp Read/write encrypted ASN.1 PEM files BTROTT Convert::ASCII:: ::Armor RdpO? Convert binary octets to ASCII armoured msg. VIPUL 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 ::Zip RdpO? Provides an interface to ZIP archive files NEDKONZ Cache:: ::Cache bdpO? Generic cache interface and implementations DCLINTON PPM Rdpf? Perl Package Manager MURRAY RPM adcO? RPM package management RJRAY RPM:: ::Constants adcO? Constants for RPM package management RJRAY ::Database adcO? DB interface for RPM package management RJRAY ::Headers adcO? Headers for RPM package management RJRAY 18) Images, Pixmap and Bitmap Manipulation, Drawing and Graphing Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- ElectricArc RdpO? Generic diagram manipulation toolset SELKOVJR GIFgraph RdpO? Obsolete, see GD::Graph MVERB Gimp Mmch? Rich interface to write plugins for The Gimp MLEHMANN GraphViz RdpOp Interface to the GraphViz graphing tool LBROCARD Imager RmhOp Draws, reads and writes Imagefiles ADDI OpenGL adcf? Interface to OpenGL drawing/imaging library FIJI PGPLOT Rdof? PGPLOT plotting library - scientific graphs KGB PixDraw adcO? Drawing and manipulating true color images KSB RenderMan a ? Manipulate RenderMan objects GMLEWIS T3D cdpO? Realtime extensible 3D rendering GJB ThreeD i ? Namespace root for all kinds of 3D modules ADESC GD adcO? Interface to Gd Graphics Library LDS GD:: ::Barcode bdpO? Create barcode image with GD KWITKNR ::Graph RdpO? Create charts using GD MVERB ::Text RdpO? Classes for string handling with GD MVERB VRML RdpO? VRML methods independent of specification HPALM VRML:: ::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:: ::Libplot RdcO? Binding for C libplotter plotting library JLAPEYRE ::Plotter Rd+O? Binding for C++ libplotter plotting library MAKLER ::Simple idcO? Simple drawing primitives NEERI ::Turtle idp ? Turtle graphics package NEERI Image:: ::Colorimetry cdpO? transform colors between colorspaces JONO ::DS9 adpO? Interface to SAO DS9 image & analysis prog DJERIUS ::Grab RdpO? Grabbing images off the Internet MAHEX ::Magick RdcO? Read, query, transform, and write images JCRISTY ::ParseGIF RdpO? Parse GIF images into component parts BENL ::Size Rdpf? Measure size of images in common formats RJRAY ::Info RdpO? Extract meta information from image files GAAS ::Imlib2 RdcOp Interface to the Imlib2 image library LBROCARD ::DeAnim RdpO? Create static GIF file from animated GIF KENMACF ::IPTCInfo RdpOp Extracts IPTC meta-info from images JCARTER Chart:: ::Base RdpO? Business chart widget collection NINJAZ ::Gdchart bdch? based on Bruce V's C gdchart distribution MHEMPEL ::Graph Rmpr? front-end to gnuplot and XRT MHYOUNG ::PNGgraph RdpO? Package to generate PNG graphs, uses GD.pm SBONDS ::Pie adpO? Implements "new Chart::Pie()" KARLON ::Plot bdcO? Graph two-dimensional data (uses GD.pm) SMORTON ::XMGR Rdphp interface to XMGR plotting package TJENNESS ::Pie3d adpO? 3d Pie Chart Render EKMETT ::GRACE Rdphp Interface to GRACE plotting package TJENNESS Xmms bdcO? Interactive remote control shell for xmms DOUGM Xmms:: ::Config bdcO? Perl interface to the xmms_cfg_* API DOUGM ::Remote bdcO? Perl interface to the xmms_remote_* API DOUGM ::Plugin i ? Perl interface to the xmms plugin APIs DOUGM Flash:: ::SWF cmpO? Read/Write Macromedia Flash SWF files SABREN 19) Mail and Usenet News Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Mail:: ::Address adpf? Manipulation of electronic mail addresses GBARR ::Alias bdpO? Manipulate E-mail aliases and alias files ZELT ::Audit RdpO? Toolkit for constructing mail filters SIMON ::Cap adpO? Parse mailcap files as specified in RFC 1524 GBARR ::CheckUser bdpf? Checking email addresses for validness ILYAM ::Ezmlm bdpO? Object methods for ezmlm mailing lists GHALSE ::Field RdpO? Base class for handling mail header fields GBARR ::Folder adpO? Base-class for mail folder handling KJOHNSON ::Freshmeat RdpO? Parses newsletters from http://freshmeat.net ASPIERS ::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 ::Procmail Rdpf? Procmail-like facility for creating easy mai JV ::Send adpO? Simple interface for sending mail GBARR ::Sender MdpO? socket() based mail with attachments, SMTP JENDA ::Sendmail Rdpf? Simple platform independent mailer MIVKOVIC ::UCEResponder i ? Spamfilter CHSTROSS ::Util adpf? Mail utilities (for by some Mail::* modules) GBARR ::IMAPClient RdpO? An IMAP Client API DJKERNEN ::VersionTracker cdpO? Parses newsletters from versiontracker.com AFOXSON ::Box bdpO? Mail-folder manager, fast MUA backend MARKOV ::Vmailmgr bdpO? A Perl module to use Vmailmgr daemon MARTIN ::ListDetector bdpO? Mailing list message detector MSTEVENS ::PerlTix cmpO? Mail ticketing and transaction system JJARVINEN Mail::Field:: ::Received RdpO? Parses Received headers as per RFC822 ASPIERS 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 IMAP:: ::Admin RdpO? IMAP Administration EESTABROO Sendmail:: ::Milter Rdch? Write mail filters for sendmail in Perl CYING 20) Control Flow Utilities (callbacks and exceptions etc) Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- AtExit Rdpr? atexit() function to register exit-callbacks BRADAPP Callback RdpO? Define easy to use function callback objects MUIR Religion adpr? Control where you go when you die()/warn() KJALB Hook:: ::PrePostCall adpO? Add actions before and after a routine PVERD Memoize bdpr? Automatically cache results of functions MJD Memoize:: ::ExpireLRU Rdpr? Provide LRU Expiration for Memoize BPOWERS ReleaseAction bdph? Trigger actions on destruction of a handle TILLY 21) File Handle, Directory Handle and Input/Output Stream Utilities Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- IO:: ::AtomicFile RdpO? Write a file which is updated atomically ERYQ ::Dir cdpO? Directory handle objects and methods P5P ::File cdpO? Methods for disk file based i/o handles P5P ::Handle cdpO? Base class for input/output handles P5P ::Lines RdpO? I/O handle to read/write to array of lines ERYQ ::Pipe cdpO? Methods for pipe handles P5P ::Ptty adcf? Pseudo terminal interface functions RGIERSIG ::Pty cdpO? Methods for pseudo-terminal allocation etc PEASE ::React RdpO? OO Expect-like communication GARROW ::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 P5P ::Select adpO? Object interface to system select call P5P ::Socket cdpO? Methods for socket input/output handles P5P ::Stty bdpf? POSIX compliant stty interface RGIERSIG ::Tee RdpO? Multiplex output to multiple handles KENSHAN ::Wrap RdpO? Wrap old-style FHs in standard OO interface ERYQ ::WrapTie RdpO? Tie your handles & retain full OO interface ERYQ ::Zlib bdpO? IO:: style interface to Compress::Zlib TOMHUGHES ::Default RdpO? Replace select() with $DEFOUT, $DEFERR, $DEF NWIGER ::String RdpO? IO::File interface for in-core strings GAAS ::Stringy RdpO? I/O on in-core objects like strings/arrays ERYQ 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:: ::Agent adpO? A general logging framework RAM ::Delayed RdpOa Delay error exits until multiple errors seen WSNYDER ::Detect RdpOa Detect and show error regexps in logfiles WSNYDER ::Dispatch RdpOp Log messages to multiple outputs DROLSKY ::Loggerx RdpOp Simple file logging interface JSCH ::Topics Rdpf? Control flow of topic based logging messages JARW ::TraceMessages RdpO? Print developer's trace messages EDAVIS Log::Agent:: ::Logger adpO? Application-level logging interface RAM ::Rotate adpO? Logfile rotation config and support RAM Expect RdpO? Close relative of Don Libes' Expect in perl RGIERSIG 22) Microsoft Windows Modules Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Win32:: ::ADO adpf? ADO Constants and helper functions MSERGEANT ::ASP Rdpr? Makes PerlScript ASP development easier WNODOM ::AbsPath Rdpf? relative paths to absolute, understands UNCs JENDA ::AdminMisc Rdcf? Misc admin and net functions DAVEROTH ::COM cd+O? Access to native COM interfaces JDB ::ChangeNotify bdcO? Monitor changes to files and directories CJM ::Clipboard Rdch? Interaction with the Windows clipboard ACALPINI ::Console Rdch? Win32 Console and Character mode functions ACALPINI ::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 ::FileOp Mdpf? file operations + fancy dialogs, INI files JENDA ::FileType RdpO? modify Win32 fily type mapping JENDA ::GD RdcO? Win32 port of the GD extension (gif module) DAVEROTH ::GUI bmch? Perl-Win32 Graphical User Interface ACALPINI ::GuiTest Rdcf? SendKeys, FindWindowLike and more ERNGUI ::IPC bdcO? Base class for Win32 synchronization objects CJM ::Internet RdcO? Perl Module for Internet Extensions ACALPINI ::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 Rm+h? Interface to OLE Automation JDB ::Pipe Rd+O? Named Pipes and assorted function DAVEROTH ::Process adcf? Interface to Win32 Process functions WIN32 ::RASE Rdpf? Dialup entries and connections on Win32 MBLAZ ::Registry adcf? Interface to Win32 Registry functions WIN32 ::Semaphore bdcO? Use Win32 semaphore objects for IPC CJM ::SerialPort RdpO? Win32 Serial functions/constants/interface BBIRTH ::Shortcut Rd+O? Manipulate Windows Shortcut files ACALPINI ::Sound Rdch? An extension to play with Windows sounds ACALPINI ::WinError adcf? Interface to Win32 WinError functions WIN32 ::SystemInfo RdpO? Memory and Processor information CJOHNSTON ::API RdcO? Perl Win32 API Import Facility ACALPINI ::DriveInfo Rdpf? drives on Win32 systems MBLAZ Win32::MultiMedia:: ::Mci cdch? An interface for the MCI system on Win32 THAMUS ::Joystick cdch? An interface for game controllers on Win32 THAMUS Win32::OLE:: ::OPC RdpO? Ole for Process Control Server Interface MARTINTO Win32API:: ::CommPort RdpO? Win32 Serial functions/constants/interface BBIRTH ::Console cdcf? Win32 Console Window functions/consts TYEMQ ::File cdcf? Win32 file/dir functions/constants TYEMQ ::Registry adcf? Win32 Registry functions/constants TYEMQ ::WinStruct cdcf? Routines for Win32 Windowing data structures TYEMQ ::Window cdcf? Win32 Windowing functions/constants TYEMQ 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 23) Miscellaneous Modules Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- ARS Mmhh? Interface to Remedy's Action Request API JMURPHY Agent cdpO? Transportable Agent module SPURKIS Archie Rdpf? Archie queries via Prospero ARDP protocol GBOSS BnP RdhO? Build'n'Play all-purpose batch install. tool STBEY Bundle i ? Namespace reserved for modules collections ANDK CPAN RdpO? Perl Archive browse and download ANDK Gedcom bmpOp Interface to genealogy Gedcom files PJCJ Hints RdpO? Tools for access hints databases (tips) MILSO Logfile RdpO? Generic methods to analyze logfiles ULPFR NetObj adpO? Module loading in real time over TCP/IP JDUNCAN 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 AI:: ::Fuzzy RdpO? Perl extension for Fuzzy Logic SABREN ::jNeural RdcO? Jet's Neural Architecture JETTERO ::NeuralNet RdpO? A simple back-prop neural net JBRYAN AI::NeuralNet:: ::SOM adpO? Kohonen Self-Organizing Maps VOISCHEV AI::Gene:: ::Sequence RdpO? Base class of mutation methods +gene grammar AJGOUGH ::Simple RdpO? Base class of mutation methods AJGOUGH Astro:: ::Coord Rdpf? Transform telescope and source coordinates CPHIL ::Misc Rdpf? Miscellaneous astronomical routines CPHIL ::MoonPhase Rdpf? Information about the phase of the Moon. RPIKKARA ::SLA Rdcfp Interface to SLALIB positional astronomy lib TJENNESS ::SunTime cdpf? Calculate sun rise/set times ROBF ::Time Rdpfp General time conversions for Astronomers CPHIL ::Sunrise RdpO? Computes sunrise/sunset for a given day RKHILL ::SkyCat cd+Op Interface to ESO SkyCat library TJENNESS Audio:: ::CD bdcO? Perl interface to libcdaudio (cd + cddb) DOUGM ::Sox i ? sox sound library as one or more modules NI-S ::SoundFile adcO? Sound I/O based on libsndfile, PDL interface TAIY ::Mixer bdcf? Sound mixer control using ioctl SERGEY ::OSS Rdcf? Interface to Open Sound System audio devices DJHD Audio::Play:: ::MPG123 MdcO? Generic frontend for MPG123 MLEHMANN MPEG:: ::ID3v1Tag MdpO? ID3v1 MP3 Tag Reader/Writer SVANZOEST ::ID3v2Tag bdpO? OO, extensible ID3 v2.3 tagging module MDIMEO ::MP3Play RdhO? Create your own MPEG audio player JRED MP3:: ::Info bdpfa Manipulate / fetch info from MP3 audio files CNANDOR ::Tag bdpO? Tag - Module for reading tags of mp3 files THOGEE ::Daemon bdpO? A daemon that possesses mpg123 BEPPU BarCode:: ::UPC i ? Produce PostScript UPC barcodes JONO Bio i ? Utilities for molecular biology SEB Bio:: ::Genex bmpO? Store, manipulate gene expression data JASONS Business:: ::Cashcow i???? Internet payment with the Danish PBS GKE ::CreditCard Rdpfp Credit card number check digit test IVAN ::ISBN RdpO? Work with ISBN as objects BDFOY ::ISSN adpO? Object and functions to work with ISSN SAPAPO ::OnlinePayment RdpO? Ecommerce middleware JASONK ::UPC ????? manipulating Universal Product Codes ROBF ::US_Amort Mdph? US-style loan amortization calculations SBURKE Chemistry:: ::Elements RdpO? Working with Chemical Elements BDFOY ::Isotopes idpO? extends Elements to deal with isotopes BDFOY Cisco:: ::Conf adpO? Cisco router administratian via TFTP JWIED Embedix:: ::DB bdpO? persistence for ECDs BEPPU FAQ:: ::OMatic RdpO? A CGI-based FAQ/help database maintainer JHOWELL Festival:: ::Client RdpO? Communicate with a Festival server GOSSAMER Festival::Client:: ::Async RdpO? Festival client blocking or non-blocking DJHD FestVox i???? Build synthetic voices (cf. www.festvox.org) LENZO Finance:: ::Quote RmpO? Fetch stock prices over the Internet PJF ::QuoteHist RdpO? Historical stock quotes from multiple sites MSISK ::Streamer adpOp interface to Datek Streamer JERI Games:: ::Cards adpO? Tools to write card games in Perl AKARGER ::Dice cdpf? Simulates rolling dice PNE ::Hex cdpO? Object library for hexmap-based board games JHKIM ::WordFind bdpO? Generate word-find type puzzles AJOHNSON ::Alak Rdpf? a simple gomoku-like game SBURKE ::Dissociate Mdpf? a Dissociated Press algorithm and filter SBURKE ::Worms RdpO? A life simulator for Conway/Patterson worms SBURKE ::AIBots bmpO? An improved clone of A.I.Wars in Perl AUTRIJUS Geo:: ::METAR Rdpf? Process Aviation Weather (METAR) Data JZAWODNY ::Storm_Tracker i ? Retrieves tropical storm advisories CARPENTER ::WeatherNOAA Rdpf? Current/forecast weather from NOAA MSOLOMON HP200LX:: ::DB cdpO? Handle HP 200LX palmtop computer database GGONTER ::DBgui cdpO? Tk base GUI for HP 200LX db files GGONTER LEGO:: ::RCX bdpO? Control you Lego Mindstorm RCX computer JQUILLAN MIDI Mdph? read/edit/compose MIDI files SBURKE MIDI:: ::Realtime cdpO? Interacts with MIDI devices in realtime FOOCHRE Music:: ::GUIDO cdpO? Reads, writes, and manipulates GUIDO scores KARLWARD Penguin RdpO? Remote Perl in Secure Environment AMERZKY Penguin:: ::Easy RdpO? Provides quick, easy access to Penguin API JDUNCAN Psion:: ::Db idpO? Handle Psion palmtop computer database files IANPX Remedy:: ::AR adcO? Interface to Remedy's Action Request API RIK Router:: ::LG bdpO? Execute commands on routers (based on lg.pl) CHRISJ Schedule:: See also Schedule:: in chapter 4 ::Match adpf? Pattern-based crontab-like schedule TAIY Silly:: ::StringMaths adpf? Do maths with letters and strings SKINGTON ::Werder RdpO? Meaningless gibberish generator CXREG Speech:: ::EST cd+h? Interface to the Edinburgh Speech Tools lib DJHD ::Festival RdpO? Communicate with a festival server process. RCALEY Speech::Festival:: ::Synthesiser RdpO? Simple text-to-speech using festival. RCALEY Speech::Recognizer:: ::SPX Rdch? Interface to Sphinx-II speech recognition DJHD SyslogScan:: ::SyslogEntry bdpO? Parse UNIX syslog RHNELSON ::SendmailLine bdpO? Summarize sendmail transactions RHNELSON Telephony:: ::Phonedev bdcO? Interface to the Linux Telephony API DJHD Video::Capture:: ::V4l Mdch? Video4linux framegrabber + vbe interface MLEHMANN Watchdog:: ::Service adpO? Look for service in process table PSHARPE ::HTTPService adpO? Test status of HTTP server PSHARPE ::MysqlService adpO? Test status of Mysql server PSHARPE Poetry:: ::Vogon idpOa Vogon Poetry Generator AMS Workflow adcfl Interface to the wftk workflow toolkit MICHAEL GISI ampO? Geographic Information Systems Interface SORO GISI:: ::SHAPE amcO? ArcView SHAPE file format driver SORO ::MIFMID ampO? MapInfo MIFMID file format driver SORO 24) Interface Modules to Commercial Software Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Resolute:: ::RAPS cd+O? Interface to Resolute Software's RAPS CHGOETZE AltaVista:: ::SearchSDK cdcf? Perl Wrapper for AltaVista SDK functionality JTURNER ::PerlSDK adcf? Utilize the AltaVista Search Developer's Kit BWILLIAM Real:: ::Encode i ? Interface to Progressive Network's RealAudio KMELTZ HtDig RdpO? Interface for the HtDig indexing system JTILLMAN MQSeries RdcO? IBM's MQSeries messaging product interface WPMOORE PQI cdcO? Perl Queuing Interface, to MQSeries, MSMQ SIMONJ R3 bdcO? Interface to SAP R/3 using RFCSDK SCHOEN P4:: ::Client bd+O? Client interface to the Perforce SCM system SMEE 25) Bundles Name DSLIP Description Info ------------ ----- -------------------------------------------- ---- Bundle:: ::Bugzilla Rdon? Bundle to load modules for Bugzilla ZLIPTON 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 Work is underway on the COPE mailing list, led by Bart Schuller, to implement a Perl binding for CORBA. See http://www.lunatech.com/cope/ 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 To quote Larry, "The right way to integrate yacc with Perl would be to have it spit out an XS module, presumably." Some version of yacc, like byacc, should be converted to spit out an OO .xs and .pm implementing a parser. Jake Donham's work so far is available in his CPAN directory http://www.cpan.org/authors/id/JAKE . Contacts: JAKE NI-S P5P 6) Approximate Matching Regular Expressions Add support into the core 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. 4.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 RFC1319 MD2 Message-Digest Algorithm Digest::MD2 RFC1321 MD5 Message-Digest Algorithm Digest::MD5 RFC1350 Trivial File Transfer Protocol TFTP, Net::TFTP RFC1413 Identification Protocol Net::Ident RFC1592 Simple Network Management Protocol SNMP, 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 RFC2518 HTTP Extensions for Distributed Authoring HTTP::DAV 4.2) ITU - International Telegraph Union (X.*) Standard Description Module Name -------- ----------- ----------- X.209 Basic Encoding Rules for ASN.1 Convert::BER 4.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 and What's Where 5.1) Information / Contact Reference Details (in alphabetical order) The following list of email addresses is based on the credentials stored on the automated Perl Authors Upload Server (PAUSE). If any of the details is not up to date, you're requested to visit http://www.cpan.org/modules/04pause.html , where you will find a pointer to a CGI script that lets you edit the database entries yourself. 5.2) Perl Frequently Asked Questions (FAQ) The FAQ is available on all CPAN sites in the directory doc/FAQs (e.g., * http://www.cpan.org/doc/FAQs/ ) as well as from the RTFM server where you can find all posted FAQs: * ftp://rtfm.mit.edu/pub/usenet/news.answers/perl-faq/ * ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/lang/perl/ RTFM mirror sites: North America: * ftp://ftp.uu.net/usenet/news.answers * ftp://mirrors.aol.com/pub/rtfm/usenet * ftp://mirror.seas.gwu.edu/pub/rtfm Europe: * ftp://ftp.uni-paderborn.de/pub/FAQ * ftp://ftp.sunet.se/pub/usenet Asia: * ftp://nctuccca.edu.tw/USENET/FAQ * ftp://hwarang.postech.ac.kr/pub/usenet/news.answers * ftp://ftp.hk.super.net/mirror/faqs