AI::Prolog is a predicate logic engine implemented in pure Perl. In predicate logic, instead of telling the computer how to do something, you tell the computer what something is and let it figure out how to do it. Conceptually, this is similar to regular expressions. The AI::Prolog distribution contains a Prolog shell called aiprolog and two short adventure games, spider.pro and sleepy.pro.
Apache SpamAssassin is an extensible email filter that is used to identify spam. Once identified, the mail can then be optionally tagged as spam for later filtering. It provides a command line tool to perform filtering, a client-server system to filter large volumes of mail, and Mail::SpamAssassin, a set of Perl modules allowing Apache SpamAssassin to be used in a wide variety of email systems.
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.
AppWrap is a content management system for enterprises. It is built on a template engine that includes a framework for building SQL tables and allowing users to populate and maintain these tables. Reports using data from these tables can be easily created using another template. It is ideal for quickly Webifying Excel and Word files shared among workgroups and rapidly providing advanced data management and presentation capabilities. It is intended for managing mildly dynamic data without the labor of hand-coding and managing multiple CGI forms and templates, or the expense of CRM systems.
The Archive::Zip module allows a Perl program to create, manipulate, read, and write Zip archive files without calling an external program. Members can be added, removed, extracted, replaced, rearranged, and enumerated. They can also be renamed or have their dates, comments, or other attributes queried or modified. Their data can be compressed or uncompressed as needed, and members can be created from members in existing Zip files, or from existing directories, files, or strings.