My programs written in Perl

Perl is my favorite programming language. These are some of the programs I've written with it. For a complete list of my modules, check out my CPAN page. Also, many of my utilities are written in Perl.

Getopt::Mixed

Getopt::Mixed is a Perl 5 module for processing command line arguments. It's basically obsolete now, since the standard Getopt::Long module now has the capabilities of Getopt::Mixed. Since Getopt::Long ships with Perl, I recommend you use that for any new development. I'm still supporting Getopt::Mixed for those who are already using it, but I'm not planning on adding any new features.

LibA2

LibA2 is a collection of Perl 5 modules and utilities for accessing the Apple II ProDOS disk image files used by most Apple II emulators. It also includes awp2txt, which converts AppleWorks word processor files to plain ASCII text files.

MSDOS::Attrib

MSDOS::Attrib is a Perl 5 module for accessing the MS-DOS style file attributes that chmod and stat cannot handle (i.e., the hidden, system, and archive attributes). It works on both Windows and OS/2. (It used to be called OS2::Attrib, but was renamed when I ported it to Win32.)

MSDOS::Descript

MSDOS::Descript is a Perl 5 module for accessing 4DOS style DESCRIPT.ION files. It should work on any OS, but DESCRIPT.ION files are usually found only on MS-DOS-derived systems.

PostScript::Report

PostScript::Report is a Perl 5 module for generating nicely-formated printed reports. The slides from my talk at YAPC::NA 2010 are available here.

Texinfo::Menus

Texinfo::Menus is a Perl 5 module for updating the links in Texinfo files according to the chapter structing commands.

Text::Wrapper

Text::Wrapper is a Perl 5 module for breaking long lines of text.

Tie::CPHash

Tie::CPHash is a Perl 5 module implementing a case-insensitive but case-preserving hash. It's useful for things like Windows filenames.

VerNum

vernum.pl is a script for managing files with RCS version numbers. It formats RCS keywords into the style I like, and can copy the current version number and date into README and other documentation files.