P5EE - Components

Project: [ Project Status | CVSWeb | CVS Activity | Download | Mailing List | Discussion Archive | Votes ]
P5EE: [ Official | Mission | Advocacy | Organization | Definitions | Components | Platforms | Applications ]
Variants [ App-Context ]
Background: [ J2EE | J2EE Security ]

Component Lists from the Mailing List

Components Brainstorm List (Technologies/Techniques)

P5EE sees the following technologies and techniques as important to account for in Enterprise Software. Beside each technology is a list of Perl Modules which are used to perform related tasks. (Of course, the full module list from CPAN is here.)
P5EE Component
(Technology/Technique)
Good Modules (Some Proponents)
P5EE (no sub-package)
Documentation * P5EEx::Blue::perlstyle
DocSet - used in mod_perl doc
Simple Docbook
Perl Tidy - also can produce multi-frame HTML output like Javadoc, basically an indexed POD/source code browser
Pod::PXML
Pod::XML
SDF - Simple Document Format
Pod::HtmlPsPdf - POD doc renderer (includes slide shows)
Modinfo [ details ]
perldocs [ sample output | instructions ] - currently this is an unfinished prototype
pdoc [ project page | sample output ] - a documentation generation utility like javadoc, but for perl
Alzabo's pod_merge.pl - to duplicate all method doc from parent classes into the POD of their derived classes
pod-people@perl.org - mailing list
P5EE::Standard
Exception and Error Handling Exception::Class
Devel::StackTrace
Error
Logging and Auditing Log::Log4Perl - makes logging easy and very flexible, like log4j (java) [ on Sourceforge ]
Log::Dispatch - (has an interface/driver architecture)
Log::Dispatch::Config - adds "log4j-like" configurability to Log::Dispatch (admittedly not as much as Log::Log4Perl does)
Log::Agent - logging system used by Storable (has an interface/driver architecture)
Net::Daemon::Log
Win32::EventLog
Sys::SysLog
Date and Time Processing * Date::Parse
* Date::Format
Class::Date or
Time::Piece
P5EEx::Blue::datetime
Date::Calc
Date::Manip
Time::HiRes
HTTP::Date
Date::Simple
Date::Range
Serialization/Encryption/Compression Storable
Compress::Zlib
Data::Dumper
Digest::*
Crypt::*
Crypt::SSLeay
FreezeThaw
Data::Serializer Tie::Transient - [tar]
Internationalization I18N::LangTags
Locale-Codes-1.00.tar.gz
Sean Burke's stuff
Method Signature Validation Params::Validate
Getargs::Long
Class::NamedParms
Class::ParmList
Attribute::Signature (requires 5.6.0)
Language Introspection Modinfo [ explanation how this is like BeanInfo for JavaBeans ]
Module::Info loads perl code and inspects the symbol table
Attribute::Signature
Attribute::WebService
Attribute::*
Debugging Aspect::Trace
Class::MethodMaker
Development Devel::CallerItem
Devel::DumpStack
Devel::SmallProf
Devel-Symdump-2.00.tar.gz
Devel::ptkdb
Apache::StatINC
Apache::Reload
Testing MakeMaker (make test)
Test::Tutorial - read this for info on tests
Test::More - drop-in replacement for Test::Simple with more features, this seems like the package to use
Test::Harness - this is used during "make test", it's not what you use to write tests
Test::Simple - standard, simplest way to write test scripts
Test::Unit - (haven't reviewed yet)
WebTst - a Web UI test system good for regression tests of web apps. It uses a proxy in "record" mode to capture actual sessions. Then a "playback" mode confirms that it still works.
Test
P5EE::Config
Configuration
XML, command line options
App::Options
Getopt::Long
Config::Inifiles
Config::General
not yet incorporated
Web Server Extension
Apache mod_perl
mod_cgi
mod_perl (Apache::Registry)
mod_perl (Apache::PerlRun)
(see other Apache modules)
PPerl - make scripts persistent in memory, to lower the startup cost of each perl program. This would increase the performance of CGI scripts as well as other uses of perl.
PersistentPerl - another solution, like PPerl, to lower the startup cost of each perl program
pperl
libservlet and Wombat
mod_gzip - discussion on p5ee list, discussion on mod_perl list - doesn't currently work with SSL (mod_deflate does)
mod_deflate - home page (translated to English from Russian), mail msg, documentation (English)
Sessions
Apache::Session
Apache::SessionX
Apache::Cookie::Encrypted
XML
Perl XML FAQ (and overview/comparison)
XML::SAX - highly recommended by Matt Sergeant as a central XML component (and XML::SAX::PurePerl)
XML::Simple
XML::XPath
XML::Xerces - perl interface to Apache's Xerces C library
libxml-enno-1.02.tar.gz
libxml-perl-0.07.tar.gz
XML::Dumper
XML-Parser-2.27.tar.gz
XML::Writer
XML::DOM (in libxml-enno)
XML::RSS
Template System
- note: most of these encompass more than just templating and they could be called Application Frameworks in some cases
(see Perrin Harkins' comparison)
Template Toolkit (Template [CPAN], http://www.template-toolkit.org)
HTML::Mason (http://www.masonhq.com)
Apache::AxKit (AxKit, AxKit.org)
Apache::ASP (http://www.apache-asp.org/)
HTML::Embperl (http://perl.apache.org/embperl/)
CGI::FastTemplate (doc)
Text::Template
SSI
HTML::Template
HTML_Tree
Apache::XPP
ePerl
Application Frameworks
- similar to template systems, but with a "full environment" emphasis and often with a content-management and/or online community focus
OpenInteract - a web application development environment built on Apache/mod_perl and Template::Toolkit
bOP - a web application development environment strong on transaction processing (OLTP)
Oak - The Perl Oak Component tree is a implementation of a complete framework for designing enterprise applications. Forest is a Web-based Integrated Development Environment for Web applications.
Extropia Toolkit - [ applications ] - a web application development environment with a variety of applications already built and available
Metadot (and the commercial site) - a web application development environment, includes user/group security, file sharing, and threaded discussion forums
Applications mod_perl Applications
Mason-Powered Applications
Webmail:
Open Webmail
Content Managment Systems:
OSCOM - Open Source Content Management matrix (many computer languages, not just perl)
CMS Matrix - another Content Management System matrix (many computer languages, not just perl)
CMS Info - another Content Management System info site (many computer languages, not just perl)
Mason-CM - content management system based on Mason (content as files on file system. no database.) minimal user management. no selective permissions/roles. does include staging/versioning. (Mason runs fine as CGI, so this should work for sites on limited hosting plans not offering mod_perl access)
WebGUI - a web widget system with a content management focus (content in MySQL). widgets available include many things desirable for a community-oriented site: articles, polls, discussions, etc. includes robust user management, selective permissions/roles. includes staging/versioning. (CGI execution is very slow)
Bricolage - a high-end content management system built on Apache/mod_perl, Mason, and PostgreSQL. (content in PostgreSQL) (early support exists for MySQL 4.1, but I wouldn't count on MySQL support yet, as of 6/22/2004) has an excellent reputation for high-end content management features. includes robust user management, selective permissions/roles. includes staging/versioning. (unsure if there is any way to run this for small sites as a CGI program)
Slash - community-site software that runs www.slashdot.org
Scoop - somewhere between a content management system, a web bulletin board system, and a weblog
OpenFrame - also claims to allow pluggable adapters (called "Slots") for different template systems
Data Persistence (see Dave Rolsky's comparison)
SPOPS (or Sourceforge) (and ESPOPS)
Tangram (or tangram-persistence.org)
Alzabo
Class::DBI
DBIx::RecordSet
perl OO persistence mailing list
Also: DBIx::DBO2
Compare to Java: Comparison, Apache OJB
RDBMS Access
Oracle, MySQL, PostgreSQL, Sybase, Informix, ...
DBI-1.13.tar.gz
DBD-CSV-0.1022.tar.gz
DBD-XBase-0.160.tar.gz
SQL Relay for remote db support and/or multi-server, multi-language db connection pooling
MySQL - a popular, fast free-software SQL database which embraced full transaction support only recently (and the Perl DBI driver)
PostgreSQL - another free-software SQL database which has had full transaction support all along but has generally been considered slower than MySQL (and the Perl DBI driver)
SQLite - a single-process RDBMS which keeps all its data in a single file (and the Perl DBI driver)
Non-RDBMS Data Storage BerkeleyDB
DB_File
MLDBM-2.00.tar.gz
GT.M transaction monitor db (no known Perl bindings yet) (freeware at Sourceforge)
Security
Authentication, Authorization, etc.
Digest-MD5-2.09.tar.gz
HTTPD::Authen HTTPD::GroupAdmin HTTPD::UserAdmin
Network Protocols
HTTP, HTTPS
libnet-1.0703.tar.gz
libwww-perl-5.47.tar.gz
CGI.pm-2.66.tar.gz
URI-1.05.tar.gz
Net::Telnet
Net::Whois
CGI::Minimal - seems to be a mature "minimal" alternative to CGI.pm
CGI::Thin - same concept at CGI::Minimal
CGI::SpeedyCGI - an XS (faster?) CGI parser (w/ mod_perl support?!?)
CGI::Lite - no man page
Transactions  
Remote Procedures/Web Services
SOAP, UDDI, WSDL, XML-RPC
SOAP::Lite
PlRPC-0.2012.tar.gz
RPC::pServer
Net::pRPC::Client
Mail Services
IMAP, POP3, SMTP, MIME, ...
Mail::Box - claims to be [see announcement] a unified mail API and all-in-one replacement for many other Perl mail modules
MailTools-1.13.tar.gz
MailFolder-0.07.tar.gz
MIME-Base64-2.11.tar.gz
MIME-tools-4.124.tar.gz
MIME::Lite
Webmail Applications
NikoSoft Webmail - a mod_perl webmail application
Mail Subsystems qmail - an excellent mail agent, heir to sendmail's throne (second most popular free software mail agent and gaining in usage annually on sendmail)
qpsmtpd - qpsmtpd is a qmail-smtpd replacement written in perl (i.e. if you are running qmail, you can replace the component, qmail-smtpd, which receives messages from remote hosts. This allows you to do Perl processing on it efficiently, including running Spam Assassin
Exim - a mail server (MTA, mail transfer agent) that, as of version 4, has a Perl interpreter embedded in the binary (not sure what all you can do with it, see here and here) (see also xmailserver and Scope which work with Exim)
PureMessage (formerly PerlMX) - ActiveState's Perl mail server for Win32
PPerl or PersistentPerl - Most mail servers allow you to pipe mail to an arbitrary program. The main problem is that this causes a new process (and all the overhead of compiling the perl scripts) for each mail message processed. Rather than trying to create a whole mail server in Perl, you could just use PPerl or PersistentPerl to lower the overhead of passing a message to a perl program.
dSPAM - a Bayesian spam filter
Spam Assassin - cuts out spam from email, written in perl (qpsmtpd has a plugin for Spam Assassin). Spam Assassin can also apparently be used with qmail without the substitution of qpsmtpd, but this would require forking an external process, not necessary if used with qpsmtpd.
Razor - similar to Spam Assassin, written in perl (planned integration into qpsmtpd)
POPFile - a promising spam filter
Siesta - an perl mailing list manager suite
EZMLM - the mailing list manager used by perl.org. It is not written in Perl and works only with qmail, but that means that it works with qpsmtpd (which is in Perl) replacing qmail-smtpd
MHonArc (or the new site) - processes mailbox files into threaded discussion pages in HTML (also converts attachments)
Majordomo - a mailing list manager written in Perl (a bit outdated, but it works)
Majordomo 2 - rewrite of Majordomo, a mailing list manager written in Perl (in alpha)
Other Perl mailing list managers: Sympa (worth a closer look), Mojo Mail, Simplemail
Naming and Directory Services
LDAP, DNS, ...
Object::Registrar
perl-ldap-0.17.tar.gz
External Interfaces (to legacy systems)  
HTML HTML-Parser-3.07.tar.gz
HTML-Tree-0.64.tar.gz
Resource Locking (between processes) IPC::Locker - uses a lock daemon (lockerd, included) to do network-wide unique resource locking
IPC::Semaphore (IPC::SysV) - uses System V Unix semaphores
Shared Storage (between processes) mod_perl discussion, perf comparison (Dec 11 2001)
mod_perl discussion, synchronization (Apr 4 2002) - specifically this message
IPC::MM - interface to Ralf Engelschall's libmm library (cross-platform shared mem), can "tie" multiple scalars and hashes into the shared mem segment, locking available for the entire segment
DBI - can store a multi-level hash in a table if you serialize first
MLDBM (MLDBM+BerkeleyDB, MLDBM+GDBM) - store multi-level hash in a DBM using Storable
MLDBM::Sync - same as MLDBM but with locking
IPC::Shareable - allows a tied var in shared mem, 1 var per shared mem segment!, some locking, depends in SysV IPC
IPC::ShareLite - store()/fetch in shared mem, 1 var per shared mem segment!, some locking, depends in SysV IPC
IPC::SharedCache -
Cache::Mmap
Cache::Cache (Cache::FileCache, Cache::SharedMemoryCache)
Messaging Spread Toolkit - and the Perl (CPAN) distributions Spread, Spread::Session, and Spread::Queue
POE
Stem
Parallel::Pvm [ PVM, perl-Parallel-PVM.rpm ] - Parallel Virtual Machine, for parallel, distributed multi-processing (old: PVM-Perl)
Parallel::MPI [ MPI ] (and Parallel::MPI::Simple) (old: perl-Parallel-MPI.rpm) - Message Passing Interface (like PVM), for parallel, distributed multi-processing
MsgQ
MQSeries - Perl interface to MQ Series
PerlMQ
Grid Computing/High Throughput Computing Condor - Condor batch system for High-Throughput Computing (and the Perl bindings)
The Globus Project - the leading open-source GRID computing toolkit, standardizing and creating a reference implementation of GRID computing (widely adopted by GRID computing projects around the world), an article on using Perl with the Grid, the Perl bindings (gridport at sourceforge and module API documentation), and OGSI::Lite
NSF Middleware Initiative (NMI) - builds on the Globus toolkit and Condor-G (Condor-control of Globus jobs) (announcement of NMI-R1) (related to the Grids Research Integration Deployment and Support Center )
OpenPBS - Open Portable Batch System (seems to overlap with Condor and encourages upgrade to the non-free PBS-Pro)
Grid Computing Overview - a paper introducing Grid Computing
Server Tools Net::Server
Proc::Daemon - static methods useful to make your program run as a daemon
Net-Daemon-0.30.tar.gz
RPC::pServer
Net::pRPC::Client
POE (http://poe.perl.org/) - Matt Sergeant's POE Tutorial
HTTP::Daemon (in libwww-perl)
Jellybean Object Server
Web User Interface Widgets GD
Text::Autoformat
GD::Text
GD::Graph
GD::Graph3d
Chart-0.99c-pre3.tar.gz
Font-AFM-1.18.tar.gz
PNGgraph-1.11.tar.gz
PDF - mod_perl discussion 03-Apr-2002 indicates PDFLib (good, but built on not-quite-free library), PDF::API2, PDF::Create (orphaned by owner at 0.01), Text::PDF (very low level), although CPAN has others
Excel - Spreadsheet::WriteExcel
JavaScript/DHTML User Interface Widgets ActiveWidgets - a project with a DHTML grid widget
Coolest DHTML Calendar Widget - LGPL Javascript calendar widget
HTMLarea - a free (BSD-style) WYSIWYG HTML editor written in JavaScript so it can be embedded in a web page (was here)
FCKeditor - another free (GPL) WYSIWYG HTML editor
Tigra Products - free (as in cost) Javascript widgets with "Pro" upgrades available [ Menu | TreeMenu | Calendar (date+datetime) | Scroller | Color Picker | Calculator ]
Coolmenus - DHTML menus
DynAPI - widget set
browser sniffer - detect details of client
sajax - Simple AJAX implementation (a JavaScript library for performing asynchronous HTTP calls from the browser to the server) (target UI language is PHP, but it show the way for Perl UI's)
Sources: [ javascript.internet.com | javascript.com ]
User Interface Widgets Perl Tk - interface to Tk libraries (the oldest and most traditional way to make a UI in perl). Consider also Tk-Contrib-0.07.tar.gz, Tk::FileDialog, Tk-HTML-3.002.tar.gz, Tk-Pod-0.11.tar.gz, Tk::WaitBox, Tk800.019.tar.gz
Wx Perl (sourceforge home) cross-platform (unix/win/mac) user interface widget library based on wxWindows
PerlQT - interface to Trolltech's QT cross-platform (unix/win/mac) user interface widget library (used by KDE), complete with QTDesigner (screenshot) and "puic" (UI builder and perl user interface compiler)
Gtk-Perl (home) interface to GTK (Gnome) user interface widgets (X11 only). Can be used with Glade-Perl which transforms a Glade XML UI-description file into Perl (built on Glade, a user interface builder for GTK+ and GNOME)
Curses - interface to the terminal screen oriented Curses library. Consider also Curses::Widgets and Curses::UI.
XWT - XML Windowing Toolkit. a completely different approach where platform-specific client software is installed on each client and it communicates with the server via XML. There is nothing specific to Perl about this solution except that the server might be written in Perl.
Application Management
Installation, Deployment, Upgrades
CPAN
CPANPLUS
MakeMaker
Module::Build
PAR (perl archive) file support
PAR file support for Apache
Archive::Tar
Archive::Zip
Database Management Alzabo - Alzabo has a web-based schema management interface
mysqldiff - diff/patch approach to managing MySQL databases
pgdiff - diff/patch approach to managing PostgreSQL databases
Enterprise-style Applications (written in Perl) SQL Ledger - an accounting package
Configuration Management
Source Code Control, Bug Tracking, Release Building
RT: Request Tracker - a web-based bug tracking system written in Perl (using Mason) (used for the CPAN-wide bug tracking system)
Bugzilla - a web-based bug tracking system written in Perl (used for the Mozilla development project) (runs as CGI. mod_perl support and Template::Toolkit support is coming.)
CVSTrac - a low-ceremony web-based bug tracking system for CVS
cvsweb - browse CVS repository via the web CVS - the Concurrent Version System (source code control) written in C
cvsweb - browse CVS repository via the web (example)
cvshistory - generate a CVS Activity page from a CVS repository (example)
cvs2cl.pl - automatically generate CHANGELOG (or XML) from CVS
cvs2html - generates HTML docs (with frames) of a CVS repository
Systems Monitoring and Management Big Sister - [on Sourceforge] [UI Sample] Network monitoring software (a clone of the very popular Big Brother), but written in Perl. GPL'ed free software (unlike Big Brother itself).
Spong - [UI Sample] Network monitoring software (like Big Brother) written in Perl (dead project?)
mon - [UI Sample] Highly customizable, full-featured network monitoring daemon in perl (overlaps with Spong?)
monit - [UI Sample] Simpler network monitoring daemon (written in C?)
syssumm - [UI Detail and Query and Index] System configuration analyzer (integrated into Spong)
review - a review of network monitoring daemons, including mon and monit
GTop - A perl library interface to libgtop (or here) which reports on all kinds of sytem-wide and per-process performance numbers. (use at least version 1.0.11 on Sun.) There is also a module to run this under Apache mod_perl called Apache::VMonitor.
Benchmarking and Performance Tuning Benchmark - part of the core Perl distribution
Stas Bekman's article on mod_perl benchmarking - and his earlier related article

System Component Candidates (Some Proponents)
non-perl system components of an enterprise computing infrastructure
High Availability and Load Balancing Discussion on Apache/mod_perl list - suggests that hardware load balancers are still the way to go
mod_backhand - mod_backhand is a project that allows seamless redirection of HTTP requests from one web server to another. This redirection can be used to target machines with under-utilized resources, thus providing fine-grained, per-request load balancing of web requests.
Wackamole - Wackamole is an application that helps with making a cluster highly available. It manages a bunch of virtual IPs, that should be available to the outside world at all times. Wackamole ensures that a single machine within a cluster is listening on each virtual IP address that Wackamole manages. (from the makers of mod_backhand and Spread at the CNDS at Johns Hopkins)
High Availability Linux Project -
Linux Virtual Server Project -
Red Had Cluster Manager - Red Hat's high availability solution, derived from Mission Critical Linux's Kimberlite. Red Hat High Availability Server is a software product designed to provide HA services (clustering, load-balancing, node failover, etc.) in the Linux marketplace. It is currently an integration of Red Hat Linux, the Piranha clustering software, and the Linux Virtual Server (LVS) software.
lbnamed - load-balancing name daemon (DNS server). This is a reasonable approach to first-order efforts at load-balancing, geographic load balancing, etc. However, each of the IP addresses that it may respond with should each be highly available clusters with their own load balancing (based on NAT or whatever).
mod_proxy - mod_proxy is distributed as a standard module with Apache. Recommended for production installations of mod_perl in a proxy server strategy for caching and load balancing.
Commercial: Big IP, Cisco, Nortel Networks/Alteon, Dell HA/LB feature list, PC Magazine Review,
Firewalls and Routers LEAF: Linux Embedded Appliance Firewall - (and Charles Steinkuehler's page) based on Linux Router Project (first recommendation is LEAF Bering, second is LEAF Oxygen, for more power/flexibility)
Shorewall - a suite of scripts to manage the raw firewalling capabilities (iptables) in the Linux 2.4 kernel
Linux Router Project - a single-floppy Linux which acts as firewall/router (find lots of LRP-related links here including derived distributions)
FrazierWall Linux - based on Linux Router Project, but uses a later Linux kernel
System and Network Security Snort - a network-based intrusion detection system (IDS). (review/comparison of Snort and seven other network-based IDS's indicates all require high maintenance and succeed only marginally)
ACID - PHP-based console for network-based IDS's like Snort
SnortCenter - Snort IDS Rule & Sensor Management
SNARE - System iNtrusion Analysis and Reporting Environment, host-based intrusion detection. (complementary to Snort?) and a Linux security checklist.
Saint Jude (beta) - (explanation) Detects improper privilege transitions blocking the completion of a remote or local exploit.
Linux Intrusion Detection System (LIDS) - (doesn't really seem to detect intruders.) mainly implements mandatory file and process access controls (even for root) and access logging/auditing (i.e. not even a root user will be able to modify protected files)
grsecurity - [ doc ] seems to be like LIDS. Implements access control lists (ACL's) for files so that if someone becomes "root", they don't necessarily have absolute control over the box. (i.e. not even a root user will be able to modify protected files) (Used in LEAF Bering.)
AIDE - a free replacement for Tripwire (file integrity checker)
Osiris - another free replacement for Tripwire (file integrity checker)
Samhain - another free replacement for Tripwire (file integrity checker)
knowngoods.org - a public database of known good MD5 (and SHA1) hashes for executable files (useful for the abovementioned file integrity checkers)
LaBrea - turns unused IP addresses on your network into tar pits where port scanners get stuck
Free S/WAN - free software implementing IPSEC-based VPN (virtual private network), allowing you to use non-secure protocols (FTP, Telnet, SMB) over the untrusted internet
OpenSSH - Secure SHell (ssh) is the most common way to log in securely across the untrusted internet to a remote machine. (and a free Windows SSH client named PuTTY)
netcat - the networking swiss army knife. a simple Unix utility which reads and writes data across network connections, using TCP or UDP protocol. simple network port scanner.
list of security tools - maintained by "insecure.org"
list of security tools - maintained by "freefire.org"
list of security tools - maintained by "atstake.com"
Security Auditing NMap - network mapping and security auditing scanner software.
Trinux - a floppy-based Linux that dynamically loads additional packages onto ramdisk using FTP and/or HTTP. most useful for network security auditing (includes nmap, etc.)
COPS - checks for common security problems on Unix
Wireless Network Security Wireless Security Paper - at Ars Technica
Open1X - open source implementation of IEEE 802.1X, and the XSupplicant implementation of a client
FreeRadius - open source implementation of a RADIUS (Remote Authentication Dial-In User Service) server
Fake AP - Fake AP generates thousands of counterfeit 802.11b access points, allowing your site to hide in plain sight amongst Fake AP's cacophony of beacon frames.
Notable Linux Distributions
news and comparisons
Debian GNU/Linux - (and Debian Planet) Debian Linux is the Linux distribution which holds the ideals of Free Software most clearly. There are no "value-added", proprietary extensions. It is put out by a large volunteer community, and supports portability to more platforms (besides x86) than any other Linux distribution.
It also has arguably the best software upgrade capabilities anywhere (with the ".deb" package format and the "apt-get" tool). (And the ".deb" package format has better properties than the ".rpm" package format or other package formats.) HP has standardized on the Debian distribution for its Linux efforts (while most of the rest of corporate computing is banking on Red Hat).
RedHat - the hands-down winner in selling their Linux distribution into a corporate IT environment. RedHat developed the RPM (RedHat Package Manager) format for packaging software. RedHat is also excellent in their free-software credentials. When free software projects package their software, it is almost always as an RPM first.
Mandrake - Known for their focus on ease of use. Mandrake is an rpm-based distribution.
Gentoo GNU/Linux - An up-and-coming source-based Linux distribution, where you don't download binaries at all, but you download only sources and compile locally.
Secure Linux Distributions (or add-ons) - a review of security-enhanced Linux distributions - [ Bastille Linux | Engarde Secure Linux ]
DMOZ Directory of Floppy-based Linux Distributions - a list of Linux distributions that need not be installed on the hard disk, but may be booted from floppy
Integrated Development Environment Eclipse - an IDE (written in Java) which supports multiple languages through plug-ins
EPIC - the perl-language plug-in for Eclipse (screen shots)
Enterprise Network Management Linux Terminal Server Project - discussion on LinuxToday and specialized LTSP workstations
Miscellaneous Systems Software Apache - and Apache Toolbox with OpenSSL: cryptography libraries and toolkit, ModSSL: Apache module which adds SSL to Apache using OpenSSL
lingerd - offload the (time-consuming) HTTP response I/O from a child Apache process to lingerd
squid - web caching software
C. Browne's App Framework Links - links to many database-related resources on the web
SashXB (or here, or Sash proper) - a Linux application builder driven by HTML and JavaScript (not sure if this has any relevance to P5EE)
PerlBox - a Unix desktop written in Perl/Tk

Training Documents Documents
documents for training Perl Enterprise Developers / Architects / Administrators / Operators
Perl Language Online Perl POD (plain old documentation) - HTML version of the POD/man pages bundled with the Perl language
perl.org library - links to online resources to learn perl
Picking Up Perl by Bradley Kuhn - (home) a quick online (HTML) tutorial
Beginning Perl by Simon Cozens - online (PDF) perl book
Enterprise Architecture Martin Fowler's Writings - description of enterprise architecture patterns, an archived page from Martin's web site (and his current web site, stripped of the interesting stuff because he wrote a book) but some info remains.
Design Perl Design Patterns - a Wiki on Perl design patterns
Article on Perl Design Patterns - (at perl.com) focuses on Gang-of-Four design patterns (see also this Gang-of-Four patterns discussion)
Perl Certification Perlcert hosted by Tim Maher - an effort to get perl certification going

Win32 Perl Packages

When considering the portability of a package to Win32, you may want to consider making it dependent only on Perl packages which have a PPM built at one of the two following PPM repositories. (See win32 install guide) Of course, you could figure out how to make new PPM's and upload them to "theoryx5", but I haven't done that yet.

Perl SDK Modules

The following modules appear to be emerging from the Perl SDK effort as the "standard modules" to be bundled with Perl.
If I understand this effort right, the goal was to decide on the set of modules which every installation should have installed. Therefore, perl programmers can rely on their existence.
The mailing list for this effort is perl-sdk@perl.org. The following list of modules is taken from an email archived from the list. There may be an updated list that followed, but this is pretty complete.

The Perl SDK and P5EE are not the same thing. However, the Perl SDK team has already done much of the work in qualifying which modules on CPAN are of high quality and are worthy of consideration in the P5EE.

If there is a module down below which should be somewhere in the P5EE matrix up above, please let me know.


    Algorithm::Diff

    Archive::Tar

    Archive::Zip

    BSD::Resource

    BerkeleyDB

    Bit::Vector

    Business::CreditCard

    CGI.pm-2.66.tar.gz
        CGI
        CGI::Carp
        CGI::Cookie
        CGI::Fast
	CGI::Pretty
	CGI::Push
	CGI::Util

    CGI-modules-2.76.tar.gz
	CGI::Request
	CGI::MiniSvr
	CGI::Base
	CGI::BasePlus
	CGI::Form

    Chart-0.99c-pre3.tar.gz
	Chart::Bars
	Chart::Base
	Chart::StackedBars
	Chart::Lines
	Chart::Mountain
	Chart::Composite
	Chart::Points
	Chart::LinesPoints

    Compress::Zlib

    DB_File

    DBD-CSV-0.1022.tar.gz
	DBD::CSV
	DBD::File

    DBD-XBase-0.160.tar.gz
	DBD::XBase
	XBase
	XBase::Base
	XBase::Index
	XBase::Memo
	XBase::SQL

    DBI-1.13.tar.gz
	DBI::Format
	DBD::Proxy
	DBI
	DBD::NullP
	DBI::Shell
	DBI::DBD
	DBD::Sponge
	DBD::ADO
	DBI::ProxyServer

    Data::Dumper

    Date::Calc

    Date::Manip

    Devel::CallerItem

    Devel::DumpStack

    Devel::SmallProf

    Devel-Symdump-2.00.tar.gz
	Devel::Symdump
	Devel::Symdump::Export

    Devel::ptkdb

    Digest-MD5-2.09.tar.gz
	Digest::SHA1
	SHA
	Digest
	MD5
	Digest::HMAC_SHA1
	Digest::HMAC
	Digest::HMAC_MD5
	Digest::MD2
	Digest::MD5

    File::Spec

    Font-AFM-1.18.tar.gz
	Font::Metrics::CourierBoldOblique
	Font::Metrics::CourierOblique
	Font::Metrics::HelveticaBoldOblique
	Font::Metrics::TimesBold
	Font::Metrics::TimesBoldItalic
	Font::Metrics::HelveticaOblique
	Font::AFM
	Font::Metrics::Courier
	Font::Metrics::Helvetica
	Font::Metrics::TimesItalic
	Font::Metrics::TimesRoman
	Font::Metrics::CourierBold
	Font::Metrics::HelveticaBold

    FreezeThaw

    Getopt::Long

    GD

    HTML-Parser-3.07.tar.gz
	HTML::Parser
	HTML::LinkExtor
	HTML::Filter
	HTML::HeadParser
	HTML::Entities
	HTML::TokeParser

    HTML-Tree-0.64.tar.gz
	HTML::AsSubs
	HTML::Parse
	HTML::Element
	HTML::TreeBuilder

    I18N::LangTags

    IO-Tty-0.02.tar.gz
	IO::Tty
	IO::Pty

    IO-stringy-1.209.tar.gz
	IO::AtomicFile
	IO::Stringy
	IO::Scalar
	IO::WrapTie
	IO::ScalarArray
	IO::Wrap
	IO::Lines

    libwww-perl-5.47.tar.gz

    Locale-Codes-1.00.tar.gz
	Locale::Country
	Locale::Language

    MIME-Base64-2.11.tar.gz
	MIME::Base64
	MIME::QuotedPrint

    MIME-tools-4.124.tar.gz
	MIME::Body
	MIME::Decoder::QuotedPrint
	MIME::Words
	MIME::Latin1
	MIME::Decoder::Binary
	MIME::Field::ContType
	MIME::Decoder::Base64
	MIME::Entity
	MIME::Decoder::UU
	MIME::Decoder::Gzip64
	MIME::Tools
	MIME::Decoder
	MIME::Field::ParamVal
	MIME::ToolUtils
	MIME::Parser
	MIME::Decoder::NBit
	MIME::Field::ContDisp
	MIME::IO
	MIME::Field::ConTraEnc
	MIME::ParserBase
	MIME::Head

    MLDBM-2.00.tar.gz
	MLDBM::Serializer::FreezeThaw
	MLDBM::Serializer::Data::Dumper
	MLDBM
	MLDBM::Serializer::Storable

    MailFolder-0.07.tar.gz
	Mail::Folder
	Mail::Folder::Mbox
	Mail::Folder::Maildir
	Mail::Folder::Emaul
	Mail::Folder::NNTP

    MailTools-1.13.tar.gz
	Mail::Address
	Mail::Util
	Mail::Mailer
	Mail::Field::Date
	Mail::Field
	Mail::Field::AddrList
	Mail::Send
	Mail::Filter
	Mail::Header
	Mail::Internet
	Mail::Cap
	Mail::Alias

    Memoize-0.52.tar.gz
	Memoize::Expire
	Memoize::ExpireTest
	Memoize
	Memoize::Saves
	Memoize::SDBM_File
	Memoize::AnyDBM_File
	Memoize::Storable
	Memoize::NDBM_File

    libnet-1.0703.tar.gz
	Net::Cmd
	Net::Config
	Net::Domain
	Net::DummyInetd
	Net::FTP
	Net::FTP::A
	Net::FTP::E
	Net::FTP::I
	Net::FTP::L
	Net::FTP::dataconn
	Net::NNTP
	Net::Netrc
	Net::PH
	Net::POP3
	Net::SMTP
	Net::SNPP
	Net::Time

    Net-Daemon-0.30.tar.gz
	Net::Daemon
	Net::Daemon::Log
	Net::Daemon::Test

    perl-ldap-0.17.tar.gz
	Authen::SASL
	Authen::SASL::CRAM_MD5
	LWP::Protocol::ldap
	Net::LDAP
	Net::LDAP::ASN
	Net::LDAP::BER
	Net::LDAP::Constant
	Net::LDAP::Control
	Net::LDAP::Control::Paged
	Net::LDAP::Control::Sort
	Net::LDAP::Control::SortResult
	Net::LDAP::Control::VLV
	Net::LDAP::Control::VLVResponse
	Net::LDAP::Control::sort
	Net::LDAP::Entry
	Net::LDAP::Extension
	Net::LDAP::Filter
	Net::LDAP::LDIF
	Net::LDAP::Message
	Net::LDAP::Schema
	Net::LDAP::Schema::oid7
	Net::LDAP::Search
	Net::LDAP::Util
	URI::URL::ldap

    Net::Telnet

    Net::Whois

    PDL-2.004.tar.gz

    PNGgraph-1.11.tar.gz
	PNGgraph::area
	PNGgraph::utils
	PNGgraph::axestype
	PNGgraph::bars
	PNGgraph::pie
	PNGgraph::linespoints
	PNGgraph::lines
	PNGgraph::colour
	PNGgraph::mixed
	PNGgraph
	PNGgraph::points

    Parse-RecDescent-1.78.tar.gz
	Parse::RecDescent
	Text::Balanced

    Parse-Yapp-1.00.tar.gz
	Parse::Yapp::Output
	Parse::Yapp
	Parse::Yapp::Driver
	Parse::Yapp::Lalr
	Parse::Yapp::Parse
	Parse::Yapp::Options
	Parse::Yapp::Grammar

    ParseLex-2.15.tar.gz
	Parse::ALex
	Parse::Template
	Parse::Trace
	Parse::LexEvent
	Parse::Token
	Parse::Lex
	Parse::YYLex
	Parse::CLex

    PlRPC-0.2012.tar.gz
	RPC::PlClient
	RPC::PlServer
	RPC::PlServer::Comm
	RPC::PlServer::Test

    Scalar-List-Utils-1.02.tar.gz
	List::Util
	Scalar::Util

    Set-Scalar-0.901.tar.gz
	Set::Scalar::Valued
	Set::Scalar::Universe
	Set::Scalar::Base
	Set::Scalar
	Set::Scalar::Null
	Set::Scalar::ValuedUniverse
	Set::Scalar::Virtual
	Set::Scalar::Real

    Sort::ArbBiLex

    Storable

    String::Approx

    Term-ReadLine-Perl-0.9907.tar.gz
	readline
	Term::ReadLine::Perl

    TermReadKey-2.14.tar.gz
	Configure
	Term::ReadKey

    Text::English

    Text::Soundex

    Text-Tabs+Wrap-98.112902.tar.gz
	Text::Tabs
	Text::Wrap

    Tie::IxHash

    Time::HiRes

    Tk-Contrib-0.07.tar.gz
	Tk::TiedListbox
	Tk::OlWm
	Tk::Axis
	Tk::Dial

    Tk::FileDialog

    Tk-HTML-3.002.tar.gz
	Tk::Web
	Tk::HTML
	Tk::HTML::Handler
	Tk::HTML::Form

    Tk-Pod-0.11.tar.gz
	Tk::Pod::Text
	Tk::More
	Tk::Pod
	Tk::Pod::Search_db
	Tk::Parse
	Tk::Pod::Search

    Tk::WaitBox

    Tk800.019.tar.gz

    URI-1.05.tar.gz

    libxml-enno-1.02.tar.gz
	CheckAncestors
	CmpDOM
	XML::Checker
	XML::Checker::Parser
	XML::DOM
	XML::DOM::PerlSAX
	XML::DOM::ValParser
	XML::Filter::DetectWS
	XML::Filter::Reindent
	XML::Filter::SAXT
	XML::Handler::BuildDOM
	XML::Handler::Composer
	XML::Handler::PrintEvents
	XML::RegExp
	XML::UM
	XML::XQL
	XML::XQL::DOM
	XML::XQL::Date
	XML::XQL::Debug
	XML::XQL::DirXQL
	XML::XQL::Parser
	XML::XQL::Strict

    libxml-perl-0.07.tar.gz
	Data::Grove
	Data::Grove::Parent
	Data::Grove::Visitor
	MyHandler
	XML::ESISParser
	XML::Handler::CanonXMLWriter
	XML::Handler::Sample
	XML::Handler::Subs
	XML::Handler::XMLWriter
	XML::Parser::PerlSAX
	XML::PatAct::Amsterdam
	XML::PatAct::MatchName
	XML::PatAct::ToObjects
	XML::Perl2SAX
	XML::SAX2Perl

    XML::Dumper

    XML-Parser-2.27.tar.gz
	XML::Parser::Expat
	XML::Parser

    XML::Writer