The Perl 5 Module List Maintained by Tim Bunce and Andreas König ; $Revision$ $Date$ -*- 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 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 König. All rights reserved. Permission to distribute this document, in full or part, via electronic means (emailed, posted or archived) or printed copy is granted providing that no charges are involved, reasonable attempt is made to use the most current version, and all credits and copyright notices are retained. Requests for other distribution rights, including incorporation in commercial products, such as books, magazine articles, or CD-ROMs should be made to Tim.Bunce@ig.co.uk and Andreas.Koenig@mind.de . Disclaimer: The content of this document is simply a collection of information gathered from many sources with little or no checking. There are NO warranties with regard to this information or its use. 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$=~/\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 DSLI Description Info ------------- ---- -------------------------------------------- ----- Fcntl Sdcf Defines fcntl() constants (see File::Lock) JHI Where the 'DSLI' characters have the following meanings: * D - Development Stage (Note: *NO IMPLIED TIMESCALES*): * o i - Idea, listed to gain consensus or as a placeholder o c - under construction but pre-alpha (not yet released) o a/b - Alpha/Beta testing o R - Released o M - Mature (no rigorous definition) o S - Standard, supplied with Perl 5 * S - Support Level: * o m - Mailing-list o d - Developer o u - Usenet newsgroup comp.lang.perl.modules o n - None known, try comp.lang.perl.modules * L - Language Used: * o p - Perl-only, no compiler needed, should be platform independent o c - C and perl, a C compiler will be needed o h - Hybrid, written in perl with optional C code, no compiler needed o + - C++ and perl, a C++ compiler will be needed o o - perl and another language other than C or C++ * I - Interface Style * o f - plain Functions, no references used o h - hybrid, object and function interfaces available o n - no interface at all (huh?) o r - some use of unblessed References or ties o O - Object oriented using blessed references and/or inheritance Where letters are missing they can usually be inferred from the others. For example 'i' implies 'id', 'S' implies 'Su'. The Info column gives a contact reference 'tag'. Lookup this tag in the "Information / Contact Reference Details" section in Pert 3 of this document. If no contact is given always try asking in comp.lang.perl.modules. Most Modules are nested in categories such as IPC::Open2 and IPC::Open3. These are shown as 'IPC::' on one line then each module listed below with a '::' prefix. Ideas For Adoption Modules listed as in the 'i' Development Stage with no contact reference are ideas without an owner. Feel free to 'adopt' these but please let me know so that we can update the list and thus inform anyone else who might be interested. Adoption simply means that you either hope to implement the module one day or would like to cooperate with anyone else who might be interested in implementing it. Cooperation Similarly, if an idea that interests you has been adopted by someone please contact them so you can share ideas. Just because an idea has been adopted does NOT imply that it's going to be implemented. Just because a module is listed and being implemented does NOT mean it'll get finished. Waiting silently in the hope that the Module will appear one day is unlikely to be fruitful! Offer to help. Cooperate. Pool your efforts. Go on, try it! The same applies to modules in all states. Most modules are developed in limited spare time. If you're interested in a module don't just wait for it to happen, offer to help. Module developers should feel free to announce incomplete work early. If you're not going to be able to spend much time on something then say so. If you invite cooperation maybe someone will implement it for you! 2) Perl Core Modules, Perl Language Extensions and Documentation Tools Name DSLI Description Info ------------ ---- -------------------------------------------- ---- CORE Sucf Internal package for perl native functions P5P UNIVERSAL SucO Internal universal base-class JACKS SUPER SucO Internal class to access superclass methods P5P DynaLoader SucO Dynamic loader for shared libraries P5P AutoLoader SupO Automatic function loader (using AutoSplit) P5P SelfLoader SdpO Automatic function loader (using __DATA__) JACKS Exporter SupO Implements default import method for modules P5P Carp Supf Throw exceptions outside current package P5P Config Supf Stores details of perl build configuration P5P English Supf Defines English names for special variables P5P Symbol SupO Create 'anonymous' symbol (typeglobs) refs CHIPS Opcode Supf Disable named opcodes when compiling code TIMB Taint bdpf Utilities related to tainting PHOENIX Perl Pragmatic Modules 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 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 GBARR Perl adcO Create Perl interpreters from within Perl GSAR Protect bdpf declare subs private or member JDUNCAN Regexp adcO An OO interface to regular expressions GBARR Safe SdcO Restrict eval'd code to safe subset of ops MICB Softref bdcf Extension for weak/soft referenced SVs ILYAZ Inline adp? Easy way to use other languages in Perl INGY Inline:: ::CPR adpn C Perl Run - Embed Perl in C, ala Inline INGY ::C bdpn Write C extensions in Perl the easy way INGY ::CPP adpO Easy implementation of C++ extensions NEILW ::Python adpO Easy implementation of Python extensions NEILW 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 Safe:: ::Hole bdcO Exec subs in the original package from Safe SEYN Symbol:: ::Table RdpO OO interface to package symbols GARROW 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 simple framework for unit testing CLEMBURG ::Suite cdpO tbs HENKE ::Case cdpO tbs HENKE 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 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 Module Support Module:: ::Reload Rdpf Reloads files in %INC based on timestamps JPRIT Documentation Tools: Pod:: ::Diff cdpf compare two POD files and report diff IANC ::HTML cdpr converter to HTML KJALB ::Index cdpr index generator KJALB ::Latex cdpr converter to LaTeX KJALB ::LaTeX bdpO Converts pod to latex with Pod::Parser TJENNESS ::Lint cdpO Lint-style validator for pod NEILB ::Lyx adpO A pod to LyX format conversion class RICHARDJ ::Man cdpr converter to man page KJALB ::MIF adpO converter to FrameMaker MIF JNH ::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 ::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 ::Rtf RdpO Converter from POD to Rich Text Format PVHP ::Hlp RdpO Convert POD to formatted VMS Help text PVHP ::XML RdpO Generate XML from POD MSERGEANT ::PP idpO A Pod pre-processor RAM 3) Development Support Name DSLI Description Info ------------ ---- -------------------------------------------- ---- AutoSplit Supf Splits modules into files for AutoLoader P5P Benchmark Supf Easy way to time fragments of perl code P5P Conjury Rdp? Generic software construction toolset JWOODYATT Coy Rdpn Like Carp - only prettier DCONWAY FindBin adpf Locate current script bin directory GBARR Include adpO Parse C header files for use in XS GBARR Make adpO Makefile parsing, and 'make' replacement NI-S Usage bupr Type and range checking on subroutine args JACKS 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 Devel:: ::CallerItem RupO 'caller()' Object wrapper + useful methods JACKS ::CoreStack adpf generate a stack dump from a core file ADESC ::Coverage adpf Coverage analysis for Perl code RJRAY ::Datum cdpf Debugging And Tracing Ultimate Module CDE ::DebugAPI bdpf Interface to the Perl debug environment JHA ::DebugInit i Create a .gdbinit or similar file JASONS ::DProf Rdcf Execution profiler DMR ::DumpStack Rupf Dumping of the current function stack JACKS ::Leak Rdcf Find perl objects that are not reclaimed NI-S ::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 ::SmallProf Rdpf Line-by-line profiler ASHTED ::StackTrace RdpO 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 JPRIT ::Modlist Rdpf Collect module use information RJRAY Exception:: ::Class bdpO 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 Rcs adcf Alternate RCS interface (see VCS::RCS) CFRETER VCS ampO Generic interface to Version Control Systems LBROCARD 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 ClearCase idcf Environment for ClearCase revision control BRADAPP ClearCase:: ::Ct Mnpf Generic cleartool wrapper DSB Sub:: ::Curry Rdpf Perl module to curry functions ((á la Lisp)) DAVIDH Perlbug RdpO Database driven bug tracking system RFOLEY Continuus adpO Interface to Continuus Code Management tool HENKE 4) Operating System Interfaces, Hardware Drivers Name DSLI Description Info ------------ ---- -------------------------------------------- ---- Env Supf Alias environment variables as perl vars P5P Errno cdpf Constants from errno.h EACCES, ENOENT etc GBARR Fcntl Sdcf Defines fcntl() constants (see File::Lock) JHI Ioctl 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 adcO 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 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 RdpO 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 Mac:: Macintosh specific modules ::AppleEvents bmcO AppleEvent manager and AEGizmos MCPL ::AssistantFrames RdpO Easy creation of assistant dialogs GBAUER ::Components bmcO (QuickTime) Component manager MCPL ::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 Netware:: ::NDS cd+O Interface to Novell Directory Services KTHOMAS ::Bindery cd+O Interface to Novell Bindery mode calls KTHOMAS OS2:: ::ExtAttr RdcO (Tied) access to extended attributes ILYAZ ::FTP bncf Access to ftplib interface ILYAZ ::PrfDB RdcO (Tied) access to .INI-style databases ILYAZ ::REXX RdcO Access to REXX DLLs and REXX runtime ILYAZ ::UPM bncf User Profile Management ILYAZ 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 RdcO 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 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 cncO 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 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 BBIRTH ::SVGA c SVGA Graphic card driver SCOTTVR Device::ISDN:: ::OCLM bd?? Perl interface to the 3com OCLM ISDN TA MERLIN 5) Networking, Device Control (modems) and InterProcess Communication Name DSLI 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 bdpO 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 ::DLookup adpO Lookup domains on Internic and 2-letter TLDs DJASMINE ::DNS bdpO Interface to the DNS resolver MFUHR ::Daemon adpO Abstract base class for portable servers JWIED ::Dict cdpO Client of Dictionary Server Protocol (DICT) ABIGAIL ::Dnet cdcO DECnet-specific socket usage SPIDB ::Domain adpf Try to determine TCP domain name of system GBARR ::DummyInetd RdpO A dummy Inetd server GBARR ::FTP adpf Interface to File Transfer Protocol GBARR ::Gen RdcO Generic support for socket usage SPIDB ::Goofey RdpO Communicate with a Goofey server GOSSAMER ::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 ::IMAP adpO Interface to IMAP Protocol (RFC2060) KJOHNSON ::IRC cdpO Internet Relay Chat interface DSHEPP ::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 adpO Interface to LDAP Protocol (RFC1777) PLDAP ::LDAPapi Rdcf Interface to UMICH and Netscape LDAP C API CDONLEY ::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 ::Patricia RdcO Patricia Trie perl module for fast IP addres PLONKA ::Pcap adcr An interface for LBL's packet capture lib PLISTER ::Ping SupO TCP and ICMP ping RMOSE ::Printer RdpO Direct to lpd printing CFUHRMAN ::SMTP adpf Interface to Simple Mail Transfer Protocol GBARR ::SNMP adpO Interface to SNMP Protocol (RFC1157) GBARR ::SNPP cdpO Client interface to SNPP protocol GBARR ::SOCKS cdcf TCP/IP access through firewalls using SOCKS SCOOPER ::SSLeay bmhf Secure Socket Layer (based on OpenSSL) SAMPO ::Syslog RdpO 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 ::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 ::Z3950 adcO OO interface to the Yaz Z39.50 toolkit MIRK ::SSL RdcO Glue that enables LWP to access https URIs CHAMAS ::Pager RdpO Send Numeric/AlphaNumeric Pages to any pager ROOTLEVEL ::Whois RdpO Get+parse "whois" domain data from InterNIC DHUDES ::XWhois RdpO Whois Client Interface for Perl5. VIPUL ::ICQ bmpO Client interface to ICQ messaging JMUHLICH Net::Daemon:: ::SSL RdpO SSL extension for Net::Daemon MKUL Net::IMAP:: ::Simple bdpO Only implements the basic IMAP features JPAF Net::SNMP:: ::Interfaces RdpO Obtain network interface info via SNMP JSTOWE 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 ::Chat2 ? Out-of-service during refit! GBARR ::ChildSafe RdcO Control child process w/o risk of deadlock DSB ::Globalspace cdpO Multi-process shared hash and shared events JACKS ::LDT Rdpf Implements a length based IPC protocol JSTENZEL ::Locker RdpO 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 anpO 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 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 DSLI 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 ::MatrixReal RdpO Everything you ever wanted to do with Matr. STBEY ::Pari adcf Interface to the powerful PARI library ILYAZ ::Polynomial RdpO Polynomials as objects MATKIN ::Prime i Prime number testing GARY ::RandomPrime i Generates random primes of x bits GARY ::Round RdpO 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 Math::Business:: ::EMA adcO An Exponential Moving Average Calculator JETTERO 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 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 adch 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 Rdph 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 RdpO QM-like superpositions in Perl DCONWAY 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 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 Graph:: ::Element RdpO Base class for element of directed graph NEILB ::Node RdpO A node in a directed graph NEILB ::Edge RdpO An edge in a directed graph NEILB ::Kruskal Rdpf Kruskal Algorithm for Minimal Spanning Trees STBEY Decision:: ::Markov bdpO Build/evaluate Markov models for decisions ALANSZ Date:: ::Calc Rdcf Gregorian calendar date calculations STBEY ::Convert cdpO Conversion between Gregorian, Hebrew, more? MORTY ::CTime adpf Updated ctime.pl with mods for timezones GBARR ::Format Rdpf Date formatter ala strftime GBARR ::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 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 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:: ::Hash Supr Base class for implementing tied hashes P5P ::Scalar Supr Base class for implementing tied scalars P5P ::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 ::DB_FileLock Rdpr Locking access to Berkeley DB 1.x. JMV ::DB_Lock Rdpr Tie DB_File with automatic locking KWILLIAMS ::DBI RdpO Tie hash to a DBI handle LDS ::Dir adpr Tie hash for reading directories GBARR ::Discovery Rdpr Discover data by caching sub results SIMON ::File adpr Tie hash to files in a directory AMW ::FileLRUCache bdph File based persistent LRU cache SNOWHARE ::Handle RdpO Base class for implementing tied filehandles STBEY ::HashDefaults adpr Let a hash have default values JDPORTER ::IxHash RdpO Indexed hash (ordered array/hash composite) GSAR ::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 TIMB ::RDBM RdpO Tie hashes to relational databases LDS ::RndHash bdpO choose a random key of a hash in O(1) time DFAN ::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 ::SubstrHash SdpO Very compact hash stored in a string LWALL ::TextDir Rdpr ties a hash to a directory of textfiles KWILLIAMS ::Watch bdpO Watch variables, run code when read/written LUSOL ::Cycle RdpO Cycle through a list of values via a scalar. BDFOY 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 ::DBI adpO Simple SQL-based object persistance MSCHWERN ::Eroot RdpO Eternal Root - Object persistence DMR ::Fields bdph Inspect the fields of a class MSCHWERN ::MethodMaker bdpO Create generic 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 ::ParmList MdpO A named parameter list processor SNOWHARE ::Singleton bdpO Implementation of a "Singleton" class ABW ::Template Rdpr Struct/member template builder DMR ::Translucent RdpO Translucent (ala perltootc) method creation GED ::Tree MdpO C++ class hierarchies & disk directories RSAVAGE ::TOM RmpO Transportable Object Model for perl JDUNCAN ::Contract RdpO Design-by-Contract OO in Perl. DCONWAY ::WhiteHole RdpO Treat unhandled method calls as errors MSCHWERN ::BlackHole RdpO treat unhandled method calls as no-op SBURKE ::Classless MdpO Framework for classless OOP SBURKE ::ISA Mdpf Report the search path thru an ISA tree SBURKE 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 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 RdpO 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 RdpO Dumps structures into JavaScript code SCHOP 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 adcO 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 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 RdpO Create associations between related things DROLSKY 7) Database Interfaces (see also Data Types) Name DSLI Description Info ------------ ---- -------------------------------------------- ---- DBI amcO Generic Database Interface (see DBD modules) DBIML 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 bmpO Database-independent schema objects IVAN 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 a Spreading database load acrross servers TIMB ::ODBC amcO ODBC Driver for DBI DBIML ::Oracle MmcO Oracle Driver for DBI TIMB ::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 bmpO 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 Oraperl Rmpf Oraperl emulation interface for DBD::Oracle DBIML Ingperl bmpf Ingperl emulation interface for DBD::Ingres HTOUG DDL:: ::Oracle bdpO 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 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 adcO 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 VKHERA 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 cdpr MLDBM wrapper to serialize concurrent access CHAMAS DB_File:: ::Lock RdpO DB_File wrapper with flock-based locking DHARRIS 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 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 bupO Write numbers & text in Excel binary format JMCNAMARA ::ParseExcel RdpO Get information from Excel file KWITKNR X500:: ::DN MdpO X500 Distinguished Name parser RSAVAGE 8) User Interfaces (Character and Graphical) Name DSLI Description Info ------------ ---- -------------------------------------------- ---- Term:: ::ANSIColor Sdpf Color output using ANSI escape sequences RRA ::Cap Supf Basic termcap: Tgetent, Tputs, Tgoto TSANDERS ::Complete Supf Tab word completion using stty raw WTOMPSON ::Control idpf Basic curses-type screen controls (gotxy) KJALB ::Gnuplot adcf Draw vector graphics on terminals etc ILYAZ ::Info adpf Terminfo interface (currently just Tput) KJALB ::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 ::Scraper cdpO Drive and scrape terminal applications INGY ::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 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 bdpO use ANSI color codes in Text widget TJENNESS ::Autoscroll cdpf 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 bdpO A scanner to view an object's attribute 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 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 9) Interfaces to or Emulations of Other Programming Languages Name DSLI 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 C:: ::DynaLib bdcO Allows direct calls to dynamic libraries JTOBEY ::Scan RdpO Heuristic parse of C files ILYAZ Tcl RdcO Complete access to Tcl MICB ::Tk RdcO Complete access to Tk *via Tcl* MICB Language:: ::Basic adpO Implementation of BASIC AKARGER ::Prolog adpO An implementation of Prolog JACKS ::PGForth i Peter Gallasch's Forth implementation PETERGAL Fortran:: ::NameList adpf Interface to FORTRAN NameList data SGEL ShellScript:: ::Env adpO Simple sh and csh script generator SVENH Verilog:: ::Pli Rdch Access to simulator functions WSNYDER ::Language Rdpf Language support, number parsing, etc WSNYDER ::Parser RdpO Language parsing WSNYDER ::SigParser RdpO Signal and module extraction WSNYDER 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 Python bmcf Interface Python API (for embedded python) GAAS Python:: ::Object bmcO Wrapper for python objects GAAS ::Err bmcO Wrapper for python exceptions GAAS 10) File Names, File Systems and File Locking (see also File Handles) Name DSLI Description Info ------------ ---- -------------------------------------------- ---- Cwd Supf Current working directory functions P5P File:: ::Attrib idpO Get/set file attributes (stat) TYEMQ ::BSDGlob bdcf Secure, csh-compatible filename globbing GBACON ::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 ::Df adpf Free disk space utilities (h2ph required) FTASSIN ::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 bdpO Copy efficiently over the net and locally LEAKIN ::Signature cdpf Heuristics for file recognition JHI ::Slurp Mdpf Read/write/append files quickly MUIR ::Sort Rdpf 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 adpf 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 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 adcf 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 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 DSLI Description Info ------------ ---- -------------------------------------------- ---- String:: ::Approx Rdpf Approximate string matching and substitution JHI ::BitCount adpf Count number of "1" bits in strings WINKO ::CRC Rdcf Cyclic redundency check generation MUIR ::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 RdcO 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 adpO Fast 8bit clean version of Text::CSV JWIED ::DelimMatch RdpO Match (possibly nested) delimited strings NWALSH ::FillIn RdpO Fill-in text templates KWILLIAMS ::Format RdpO Advanced paragraph formatting GABOR ::Graphics RdpO Graphics rendering toolkit with text output SFARRELL ::Iconv RdcO Perl interface to the XPG4 iconv() function 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 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 Specific Natural Languages Lingua:: ::EN i Namespace for English language modules ::PT bupf Namespace for Portugese language modules EGROSS Lingua::EN:: ::AddressParse bdpO Manipulate geographical addresses KIMRYAN ::Cardinal i Convert numbers to words HIGHTOWE ::Fathom RdpO Readability measurements of English text KIMRYAN ::Hyphenate Rdpf Syllable based hyphenation DCONWAY ::Infinitive MdpO Find infinitive of a conjugated word RSAVAGE ::Inflect Mdpf English singular->plural and "a"->"an" 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::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 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 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 RdpO Generates OO LALR parser modules FDESAR ::YALALR RdpO Yet Another LALR parser SFINK ::Vipar bdpO Visual LALR parser debugger SFINK 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 i?cO Transform comma separated values to XML ISTERIN ::Catalog RdpO Resolve public identifiers and remap system EBOHLMAN ::DOM bmpO Implements Level 1 of W3's DOM ENNO ::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 ENNO ::XSLT RdcO Process XSL Transformational sheets BRONG ::miniXQL ???? Simplistic XQL-like search using streams MSERGEANT 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 ::Document a pO Generate Rich Text (RTF) Files RRWO ::Generator idpO Next Generation of RTF::Document RRWO ::Group adpO Base class for manipulating Rich Text Format 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 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 bmpO Flexible templating system DLUX Barcode:: ::Code128 adpO Generate CODE 128 bar codes WRW 12) Option, Argument, Parameter and Configuration File Processing Name DSLI 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 cdpf 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 bdpf Provide in-memory configuration data BTROTT ::IniFiles Read/Write INI-Style configuration files RBOW CfgTie adph Framework for tieing system admin tasks RANDYM 13) Internationalization and Locale Name DSLI 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 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 DSLI 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 RdpO 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 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 encryption, decryption, key generation VIPUL ::Solitaire Rdpf A very simple encryption system SIFUKURT ::Twofish Rdpf Twofish Encryption Algorothm NISHANT ::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 bdpO OO module for CS-1 and CS-2 encryption CHROMATIC 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 RADIUS:: ::Dictionary bdpO Object interface to RADIUS dictionaries CHRMASTO ::Packet bdpO Object interface to RADIUS (rfc2138) packets CHRMASTO ::UserFile bdpO Manipulate a RADIUS users file OEVANS SSLeay cdcO Interface to SSLeay EAYNG 15) World Wide Web, HTML, HTTP, CGI, MIME etc (see Text Processing) Name DSLI Description Info ------------ ---- -------------------------------------------- ---- URI:: ::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 RmpO 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 BROCSEIB ::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 ::MxScreen cdpO 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 ::Screen adpO Create multi screen CGI-scripts ULPFR ::Session cdpO Persistent storage of complex data in CGI ZED ::SpeedyCGI bdcn Run 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 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 adpO 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 RupO 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 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 bdph Run tests on remote URLs or local web files RANDERSON 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 adpO email WWW bulletin board postings TAYERS ::Robot adpO Web traversal engine for robots & agents NEILB ::RobotRules ampO Parse /robots.txt file LWWWP ::Search adpO Front-end to Web search engines JOHNH WWW::Search:: ::AlltheWeb RdpO Class for searching AlltheWeb JSMYSER ::Deja RdpO Class for www.deja.com searching MTHURN ::Go RdpO Backend class for searching with go.com ALIAN LWP RmpO Libwww-perl LWWWP LWP:: ::Conn ampO LWPng stuff LWWWP ::MediaTypes Rmpf Media types and mailcap processing LWWWP ::Parallel RmpO Allows parallel http and ftp access with LWP MARCLANG ::Protocol RmpO LWP support for URL schemes (http, file etc) LWWWP ::RobotUA RmpO A UserAgent for robot applications LWWWP ::Simple Rmpf Simple procedural interface to libwww-perl LWWWP ::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 ::Cachet i OutputChain with caching MERLYN ::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 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 KWILLIAMS ::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 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 bapO Persistent CTlib connection mgmt. 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 Rdpn Child exit on small shared or large mem STAS ::Status Smpf Embedded interpreter runtime status APML ::VMonitor Rdpn 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 APML ::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:: ::Cache bdpO Access Netscape cache files SREZIC ::History bdpO Class for accessing Netscape history DB NEILB ::HistoryURL bdpO Like a URI::URL, but with visit time NEILB ::Server adcO Perl interface to Netscape httpd API BSUGARS HyperWave:: ::CSP cdpO Interface to HyperWave's HCI protocol GOSSAMER WebFS:: ::FileCopy 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 PApp adch Multi-page-state-preserving web applications MLEHMANN 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 16) Server and Daemon Utilities Name DSLI Description Info ------------ ---- -------------------------------------------- ---- 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 Server::Server:: ::EventDriven RupO See 'EventServer' (compatibility maintained) JACKS Server::Echo:: ::MailPipe cup A process which accepts piped mail JACKS ::TcpDForking cup TCP daemon which forks clients JACKS ::TcpDMplx cup TCP daemon which multiplexes clients JACKS ::TcpISWFork cup TCP inetd wait process, forks clients JACKS ::TcpISWMplx cup TCP inetd wait process, multiplexes clients JACKS ::TcpISNowait cup TCP inetd nowait process JACKS ::UdpD cup UDP daemon JACKS ::UdpIS cup UDP inetd process JACKS Server::Inet:: ::Functions cdpf Utility functions for Inet socket handling JACKS ::Object cupO Basic Inet object JACKS ::TcpClientObj cupO A TCP client (connected) object JACKS ::TcpMasterObj cupO A TCP master (listening) object JACKS ::UdpObj cupO A UDP object JACKS Server::FileQueue:: ::Functions cupf Functions for handling files and mailboxes JACKS ::Object cupO Basic object JACKS ::DirQueue cupO Files queued in a directory JACKS ::MboxQueue cupO Mail queued in a mail box JACKS Server::Mail:: ::Functions cupf Functions for handling files and mailboxes JACKS ::Object cupO Basic mail object JACKS MailBot cdpO Archive server, listserv, auto-responder RHNELSON Mud cdcO A multi-user online interactive game server GED 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 Time:: ::Warp Rmcf Change the start and speed of Event time JPRIT Spool:: ::Queue i Generic printer spooling facilities RAM 17) Archiving, Compression and Conversion Name DSLI Description Info ------------ ---- -------------------------------------------- ---- Compress:: ::Bzip2 Rdcf Interface to the Bzip2 compression library AZEMGI ::LZO Rdcf Interface to the LZO compression library MFX ::LZV1 RdcO Leight-weight Lev-Zimpel-Vogt compression MLEHMANN ::Zlib RdcO Interface to the Info-Zip zlib library PMQS 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 Rdcr Intelligent de- and encode (B64, UUE...) MLEHMANN 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 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 DSLI 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 RdpO Interface to the GraphViz graphing tool LBROCARD 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 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 Rdph interface to XMGR 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 DSLI 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 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 DSLI 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 21) File Handle, Directory Handle and Input/Output Stream Utilities Name DSLI Description Info ------------ ---- -------------------------------------------- ---- IO:: ::AtomicFile RdpO Write a file which is updated atomically ERYQ ::Dir cdpO Directory handle objects and methods GBARR ::File cdpO Methods for disk file based i/o handles GBARR ::Handle cdpO Base class for input/output handles GBARR ::Lines RdpO I/O handle to read/write to array of lines ERYQ ::Pipe cdpO Methods for pipe handles GBARR ::Ptty amcf 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 GBARR ::Select adpO Object interface to system select call GBARR ::Socket cdpO Methods for socket input/output handles GBARR ::Stty bmpf 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 adpO IO:: style interface to Compress::Zlib TOMHUGHES FileHandle SupO File handle objects and methods P5P FileCache Supf Keep more files open than the system permits P5P DirHandle SupO Directory handle objects and methods CHIPS SelectSaver SupO Save and restore selected file handle CHIPS Selectable cdpO Event-driven I/O streams MUIR Log:: ::Agent adpO A general logging framework RAM ::Dispatch RdpO Log messages to multiple outputs DROLSKY ::Topics Rdpf Control flow of topic based logging messages JARW ::TraceMessages Rdpf Print developer's trace messages EDAVIS Log::Agent:: ::Logger cdpO 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 DSLI 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 adcf 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 WinNT cdcf Interface to Windows NT specific functions WIN32 NT cdcf Old name for WinNT - being phased out WIN32 Win95 i Interface to Windows 95 specific functions WIN32 Win32API:: ::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 23) Miscellaneous Modules Name DSLI 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 bmpO Interface to genealogy Gedcom files PJCJ 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 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 Rdcf Interface to SLALIB positional astronomy lib TJENNESS ::SunTime cdpf Calculate sun rise/set times ROBF ::Time Rdpf General time conversions for Astronomers CPHIL ::Sunrise RdpO Computes sunrise/sunset for a given day RKHILL Audio:: ::CD bdcO Perl interface to libcdaudio (cd + cddb) DOUGM ::Sox i sox sound library as one or more modules NI-S Audio::Play:: ::MPG123 RdcO 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 bdpf Manipulate / fetch info from MP3 audio files CNANDOR ::Tag bdpO Tag - Module for reading tags of mp3 files THOGEE BarCode:: ::UPC i Produce PostScript UPC barcodes JONO Bio i Utilities for molecular biology SEB Business:: ::Cashcow i??? Internet payment with the Danish PBS GKE ::CreditCard Rdpf Credit card number check digit test JONO ::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 FAQ:: ::OMatic RdpO A CGI-based FAQ/help database maintainer JHOWELL FestVox i??? Build synthetic voices (cf. www.festvox.org) LENZO Finance:: ::Quote RmpO Fetch stock prices over the Internet PJF ::QuoteHist bdpO Historical stock quotes from multiple sites MSISK 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 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 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 SyslogScan:: ::SyslogEntry bdpO Parse UNIX syslog RHNELSON ::SendmailLine bdpO Summarize sendmail transactions RHNELSON Video::Capture:: ::V4l Mdch Video4linux framegrabber 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 24) Interface Modules to Commercial Software Name DSLI Description Info ------------ ---- -------------------------------------------- ---- Resolute:: ::RAPS cd+O Interface to Resolute Software's RAPS CHGOETZE AltaVista:: ::SearchSDK cdcf Perl Wrapper for AltaVista SDK functionality JTURNER 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 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