Front Door
Resume
Web Sites I Made
Perl Libraries I Made
E-mail Me
Guest Book
Other Links

Last updated 2010 March 6

Perl Libraries I Made

In this section I am making available a set of Perl Libraries that I developed over many 1000s of hours between 1999 and 2009. There are currently 56+ here, some of whose original purpose is to implement an unlimited number of unrelated dynamic web-sites at once, but they can be used for various other purposes as well. They are all Perl 5 and/or Perl 6 Object Classes; some require Perl version 5.004 or newer, and others require 5.008001 and/or 6.0 or newer.

For those of you that are interested in the bleeding edge of development, I now have all of my newer modules (mainly whose problem domain is databases) in one or more public Subversion repositories, but not my older modules (which are not about databases). All of my development up to 2005.09.28, the first major code base, is here, which is the result of incremental-change development since late 2002. As of 2005.09.30, I have begun a rewrite of those modules that includes parallel Perl 6 and Perl 5 versions, which is heavily inspired by the previous work, but is a new, second major code base. The second major versions are available here (Perl 6) and here (Perl 5); the relevant sub-directories are "Locale-KeyedText" and "Muldis-Rosetta".

You can download slightly older versions of all of my Perl 5 modules from the public CPAN archives here, or on my own web server here. They are grouped into 12 distributions, each of which is tarred and gzipped. If you don't know how to open those then try one of Aladdin's free Expander products for Macintosh or Windows or Linux; if you have any Unix flavor or Linux then this is a native file type and you can use "tar".

Any Perl 6 versions of my modules are available on CPAN as part of the Perl6-Pugs distribution in its ext/ directory; they currently only run under Pugs and are used to test it.

CPAN also extracts the POD from modules and maintains that documentation in an organized and searchable fashion. Their main search site is here, and my own DUNCAND author page is here.

You can download my oldest tarred and gzipped distributions from BACKPAN, here, or from my web server, here, right back to the libdwg 1.0, first released on 2000 July 23.

Please note that my websites only use a fraction of the modules' capabilities, so please don't limit your perception of them based on what I have used.

Quick Links To Documentation

Class-ParamParser-1.041 [R]eleased [ ReadMe | ChangeLog | Class::ParamParser 1.041 ]
HTML-EasyTags-1.071 [R]eleased [ ReadMe | ChangeLog | HTML::EasyTags 1.071 ]
File-VirtualPath-1.011 [R]eleased [ ReadMe | ChangeLog | File::VirtualPath 1.011 ]
Data-MultiValuedHash-1.081 [R]eleased [ ReadMe | ChangeLog | Data::MultiValuedHash 1.081 ]
Locale-KeyedText-1.73.0 [R]eleased [ README | Changes | Locale::KeyedText 1.73.0 ]
CGI-MultiValuedHash-1.09 [b]eta [ ReadMe | ChangeLog | CGI::MultiValuedHash 1.09 ]
HTML-FormTemplate-2.021 [b]eta [ ReadMe | ChangeLog | HTML::FormTemplate 2.021 ]
CGI-Portable-0.51 [b]eta [ ReadMe | ChangeLog | CGI::Portable 0.51 | CGI::Portable::AdapterCGI 0.50 | CGI::Portable::AdapterSocket 0.50 | CGI::Portable::AppStatic 0.50 | CGI::Portable::AppMultiScreen 0.50 | CGI::Portable::AppSplitScreen 0.50 | DemoGuestBook 0.50 | DemoMailForm 0.50 | DemoRedirect 0.50 | DemoTextFile 0.50 | DemoUsage 0.51 ]
Set-Relation-0.12.7 [a]lpha [ README | Changes | Set::Relation 0.12.7 | Set::Relation::V1 0.12.7 | Set::Relation::V2 0.12.7 | TODO ]
Muldis-D-0.111.0 [c] pre-alpha [ README | Changes | Muldis::D 0.111.0 | Muldis::D::Basics 0.111.0 | Muldis::D::Core 0.111.0 | Muldis::D::Core::Types 0.111.0 | Muldis::D::Core::Types_Catalog 0.111.0 | Muldis::D::Core::Universal 0.111.0 | Muldis::D::Core::Scalar 0.111.0 | Muldis::D::Core::Bool 0.111.0 | Muldis::D::Core::Integer 0.111.0 | Muldis::D::Core::Blob 0.111.0 | Muldis::D::Core::Text 0.111.0 | Muldis::D::Core::Rational 0.111.0 | Muldis::D::Core::Cast 0.111.0 | Muldis::D::Core::Tuple 0.111.0 | Muldis::D::Core::Relation 0.111.0 | Muldis::D::Core::Set 0.111.0 | Muldis::D::Core::Array 0.111.0 | Muldis::D::Core::Bag 0.111.0 | Muldis::D::Core::Interval 0.111.0 | Muldis::D::Core::STDIO 0.111.0 | Muldis::D::Core::Routines_Catalog 0.111.0 | Muldis::D::Dialect::PTMD_STD 0.111.0 | Muldis::D::Dialect::HDMD_Perl6_STD 0.111.0 | Muldis::D::Dialect::HDMD_Perl5_STD 0.111.0 | Muldis::D::Conventions 0.111.0 | Muldis::D::Ext::Counted 0.111.0 | Muldis::D::Ext::DateTime 0.111.0 | Muldis::D::Ext::Spatial 0.111.0 | Muldis::D::SeeAlso 0.111.0 | TODO ]
Muldis-D-Manual-0.2.0 [c] pre-alpha [ README | Changes | Muldis::D::Manual 0.2.0 | TODO ]
Muldis-Rosetta-0.16.0 [c] pre-alpha [ README | Changes | Muldis::Rosetta 0.16.0 | Muldis::Rosetta::Interface 0.16.0 | Muldis::Rosetta::Validator 0.16.0 | Muldis::Rosetta::Engine::Example 0.16.0 | Muldis::Rosetta::SeeAlso 0.16.0 | TODO ]

Quick Module Descriptions

Registered With The Perl 5 Module List

Name              DSLIP Description                                  Info
------------      ----- -------------------------------------------- ----

Class::
::ParamParser     RdpOp Provides complex parameter list parsing      DUNCAND

File::
::VirtualPath     RdpOp Portable abstraction of a file/dir/url path  DUNCAND

Data::
::MultiValuedHash RdpOp Hash whose keys have multiple ordered values DUNCAND

Locale::
::KeyedText       RdpOl Refer to user messages in programs by keys   DUNCAND

HTML::
::EasyTags        RdpOp Make well-formed XHTML or HTML 4 tags, lists DUNCAND
::FormTemplate    bdpOp Make data-defined persistant forms, reports  DUNCAND

CGI::
::MultiValuedHash bdpOp Store and manipulate url-encoded data        DUNCAND
::Portable        bdpOp Framework for server-generic web apps        DUNCAND

Set::
::Relation        ampOl Relation data type for Perl                  DUNCAND

Muldis::
::D               cmong Formal spec of Muldis D relational DBMS lang DUNCAND
::Rosetta         cmpOl Full-featured truly relational DBMS in Perl  DUNCAND

Not Registered

CGI::Portable::
::AdapterCGI     - Run under CGI, Apache::Registry, cmd line
::AdapterSocket  - Run under IO::Socket-based Perl server
::AppMultiScreen - Delegate construction, navigation of hierarchical screens
::AppSplitScreen - Delegate construction of a screen between several modules
::AppStatic      - Define whole response screens within a config file

DemoGuestBook - Demo of CGI::Portable that implements a complete guest
book with unlimited questions that also e-mails submissions to the website owner.

DemoMailForm - Demo of CGI::Portable that implements an e-mail
submission form with unlimited questions.

DemoRedirect - Demo of CGI::Portable that issues an HTTP redirection header.

DemoTextFile - Demo of CGI::Portable that displays the content of a
static html or text file, which can be in multiple segments.

DemoUsage - Demo of CGI::Portable that tracks site usage details, as
well as e-mail backups of usage counts to the site owner.

Set::Relation::
::V1 - Bundled original implementation of Set::Relation role
::V2 - Bundled second implementation of Set::Relation role

Muldis::D::
::Basics      - 10,000 Mile View of Muldis D
::Conventions - Style and design guidelines for Muldis D
::Core        - Muldis D core data types and operators
::Manual      - Muldis D language and implementations manual
::SeeAlso     - External resources that you really ought to look at

Muldis::D::Core::
::Array            - Muldis D Array specific operators
::Bag              - Muldis D Bag specific operators
::Blob             - Muldis D bit string operators
::Bool             - Muldis D boolean logic operators
::Cast             - Muldis D explicit type-casting operators
::Integer          - Muldis D integer numeric operators
::Interval         - Muldis D generic interval operators
::Rational         - Muldis D rational numeric operators
::Relation         - Muldis D generic relational operators
::Routines_Catalog - Muldis D data definition routines
::STDIO            - Muldis D routines for basic command-line user I/O
::Scalar           - Muldis D operators for all scalar types
::Set              - Muldis D Set and Maybe specific operators
::Text             - Muldis D character string operators
::Tuple            - Muldis D generic tuple operators
::Types            - Muldis D general purpose data types
::Types_Catalog    - Muldis D catalog-defining data types
::Universal        - Muldis D generic operators for all data types

Muldis::D::Dialect::
::HDMD_Perl5_STD - How to format Perl 5 Hosted Data Muldis D
::HDMD_Perl6_STD - How to format Perl 6 Hosted Data Muldis D
::PTMD_STD       - How to format Plain Text Muldis D

Muldis::D::Ext::
::Counted  - Muldis D extension for count-sensitive relational operators
::DateTime - Muldis D extension for temporal data types and operators
::Spatial  - Muldis D extension for spatial data types and operators

Muldis::Rosetta::
::Interface - Common public API for Muldis Rosetta Engines
::SeeAlso   - External resources that you really ought to look at
::Validator - A common comprehensive test suite to run against all Engines

Muldis::Rosetta::Engine::
::Example - Self-contained reference implementation of a Muldis Rosetta Engine

Front Door
Resume
Web Sites I Made
Perl Libraries I Made
E-mail Me
Guest Book
Other Links

This site was created and is maintained for personal use by Darren Duncan. All content and source code was created by me, unless otherwise stated.