Comprehensive Perl Archive Network

Perl is my favorite programming language, and I've submitted a handful of Perl modules to the
Comprehensive Perl Archive Network (CPAN).

You can browse all of my Perl module submissions on my CPAN contributor page. This page highlights a couple modules that I'm the most proud of.


RiveScript is a text-based scripting language I invented to aid in the creation of chatting robots. It allows the scripter to easily enter trigger/response pairs to build the artificial intelligence of their chatterbot.

RiveScript is the module I've spent the most hours on and I'm even making strides toward creating ports for it in other programming languages, namely Java and C++.

It even has its own website:

CPAN Page: RiveScript


This is a text box widget for the Perl/Tk GUI toolkit that can render HTML code. I created this module because I was working on an application using Perl/Tk and had need of a text widget that can display HTML. No such module existed on the CPAN so I dug into some HTML parsing modules and created this widget on my own.

CPAN Page: Tk::HyperText


This module is a tileset loader. It allows you to have a tileset image and an XML document that describes the tiles inside, and then split them up to use them in an application. There was no such module on the CPAN, and I wanted one to begin developing a 2D tile-based game in Perl, so I created this module.

CPAN Page: Image::Tileset