EventedObject is a simplistic yet highly useful Perl base class that allows you to attach event callbacks to an object (also known as a blessed hash reference) and then fire events on that object. Event fires are much like method calls. However, there can be many handlers, many return values, and many responses rather than just one of each. EventedObject is designed to be highly extensible and features callback priorities, dynamic adding and removing of callbacks, and more. It provides a whole new style of objective and event-driven programming in Perl.
XML-Grammar-Fiction is a Perl package that provides processors for lightweight markup languages and corresponding XML grammars for writing prose (e.g. stories, novels, and novellas) as well as screenplays. The XML grammars can in turn be translated to XHTML and DocBook/XML. XML-Grammar-Fiction currently offers only very basic functionality, but has good support for UTF-8 and allows one to write bidirectional texts conveniently. It is still under development and may exhibit some quirks.
Apache::Session is a persistence framework whose purpose is to provide session management to Web developers. It is designed to work with Apache and mod_perl, but it does not depend on them and will work with any Web server. This module provides a set of classes that give the developer maximum functionality. Session data can be stored in a database, flat files, or shared memory.
libintl-perl is a library that supports message translation for Perl, written in pure Perl (version 5.004 or better). A faster C version is also built and installed if the system fulfills all requirements. Its interface is a superset of the gettext family of functions in C, and it uses the same file formats as GNU gettext, making it possible to use all tools available for gettext itself and to seamlessly integrate internationalized Perl code into mixed-language projects.
The Paranoid modules provide a number of routines that are intended for use in strict and taint-safe scripts. The modules cover a variety of tasks from command-line argument parsing to process and network management. All of the modules use a debug trace framework for diagnostic output that is easily used and extended for application code as well.
File-Find-Object provides Perl programmers with an object-oriented alternative to the core File::Find module for traversing a directory structure, which has some serious interface limitations. As opposed to File::Find, File-Find-Object can be instantiated, can be interrupted in the middle, has an iterative interface, and can also return results as objects.
Xapian is a search engine library, scalable to collections containing hundreds of millions of documents. It's written in C++ with bindings for Perl, Python, PHP, Java, Tcl, C#, Ruby, and Lua. It is a highly adaptable toolkit that allows developers to easily add advanced indexing and search facilities to their own applications. It supports the Probabilistic Information Retrieval model and also a rich set of boolean query operators. Omega is a Web search application built upon the Xapian library. It can index a Web server's document tree (including HTML, PDF, OpenOffice, MS Word/Excel/Powerpoint/Works, WordPerfect, RTF, PS, etc.), or data exported from arbitrary sources (e.g. SQL databases).
Search::Xapian is a Perl XS frontend to the Xapian C++ search library. It is a fairly complete wrapper: most features of the Xapian library are made available for use from Perl. Xapian is a highly adaptable toolkit that allows developers to easily add advanced indexing and search facilities to their own applications. It supports the Probabilistic Information Retrieval model as well as a rich set of boolean query operators. It's fast and scalable to hundreds of millions of documents.