Utilities:Modules

Snowhare's Free Perl Modules

This is a collection of free Perl modules I've written. They are (or will be) also available through the Comprehensive Perl Archive Network (CPAN).

Each module IS NOT a standalone program - they are tools to be used in the creation of more sophisticated programs. The latests versions can usually be found here.

The List of Modules

Lingua::Stem

Version 0.81, 26 July 2004 - A stemming module with locale support. Uses UTF8 as its base encoding and provides 'En' (English) support out of the gate. 'De' (German) support is coming Real Soon Now and support for other languages is planned.

Search::InvertedIndex

Version 1.00, 16 June 1999 - A module for creating, maintaining and searching inverted indexes. The core function needed in any medium to large scale search engine.

Class::ParmList

Version 1.00, 16 June 1999 - A general processor of named parameters. Good as a complement to Class::NamedParms or standalone.

Class::NamedParms

Version 1.00, 16 June 1999 - A lightweight named parameter handling system designed as a base class for classes wanting generic named parameter accessors without a lot of pain.

Tie::FileLRUCache

Version 1.00, 16 June 1999 - Provides a lightweight persistent disk based LRU cache capable of storing complex structures via a both a tied and an object interface.

Tie::DB_File::SplitHash

Version 1.00, 16 June 1999 - Transparently splits a Berkeley DB_File database into several files to allow a system with OS file size limitations to exceed those limits up to the size of the disk partition.

Tie::ListKeyedHash

Version 0.41, 09 June 1999 - Allows you to use lists as the keys for multi-level hashes. Excellent for parse tree generation and other similar tasks where you need to create very deep trees or the tree depth is not known in advance. A real performance win on very deep trees over 'walking the tree' starting from the root node.

Use Examples:
$hash{[@key_list]} = 'Hello';
$lkh->put(\@key_list,'Hello');

CGI::Minimal

Version 1.16, 12 November 2004 - A lightweight alternative to the CGI.pm module shipped with Perl. It is approximately 1/6th the size of CGI.pm but provides largely compatible access to form decoding and a small number of other tasks essential to writing CGI scripts in Perl. Designed for people who are comfortable working closely with the HTTP protocal and writing HTML directly. Supports file uploading as just another transparently decoded form field.

CGI::PathInfo

Version 1.00 01 August 2000 - A microweight decoder for decoding the CGI environment variable 'PATH_INFO' as if it were the QUERY_STRING used by GET/HEAD method CGI forms. This provides a way to treat 'extra path' information like CGI parameters easily and in a way that 'stealths' the presence of CGI parameters. If you need to use CGI with parameters, but also need to be 'search engine friendly' (or just want 'pretty URLs'), this module may help.

Unicode::MapUTF8

Version 1.05 24 October 2000 - A standard API wrapper for the existing Unicode related modules (Unicode::Map, Unicode::Map8, Unicode::String, JCode) to give them all a common simple API so that character set convertors do not need to know either the underlaying module supporting a specific encoding or its particular API implementation to do general character encoding conversions to or from the UTF8 transformation of Unicode.

Text::FixEOL

Version 1.02 05 May 2005 - Canonicalizes text to a specified EOL/EOF convention, repairing any 'mixed' usages. This is intended to allow the repair of text that may have been editted with inconsistent end-of-line conventions by canonicalization to a single convention.