Perl Modules
All of my modules can be found on the CPAN and the source is on Github.
- Number::Phone - a ginormous suite of modules for extracting information from phone numbers
- versions 4.0006 | 4.0005 | 4.0004 | 4.0003 | 4.0002 | 4.0001 | 4.0000 | 3.9002 | 3.9001 | 3.9000 | 3.8007 | 3.8006 | 3.8005 | 3.8004 | 3.8003 | 3.8002 | 3.8001 | 3.8000 | 3.7003 | 3.7002 | 3.7001 | 3.7000 | 3.6006 | 3.6005 | 3.6004 | 3.6003 | 3.6002 | 3.6001 | 3.6000 | 3.5001 | 3.5000 | 3.4006 | 3.4005 | 3.4004 | 3.4003 | 3.4002 | 3.4001 | 3.4000 | 3.3000 | 3.2001 | 3.2000 | 3.1 | 3.0013 | 3.0012 | 3.0011 | 3.0010 | 3.0009 | 3.0008 | 3.0007 | 3.0006 | 3.0005 | 3.0004 | 3.0003 | 3.0002 | 3.0001 | 3.0 | 2.2003 | 2.2002 | 2.2001 | 2.2 | 2.1 | 2.0002 | 2.0001 | 2.0 | 1.9 | 1.8006 | 1.8005 | 1.8003 | 1.8002 | 1.8001 | 1.8 | 1.7101 | 1.71 | 1.7004 | 1.7003 | 1.7002 | 1.7001 | 1.7 | 1.6 | 1.581 | 1.58 | 1.57 | 1.5601 | 1.56 | 1.55 | 1.54 | 1.53 | 1.52 | 1.51 | 1.5 | 1.4004 | 1.4003 | 1.4002 | 1.4001 | 1.4 | 1.3004 | 1.3003 | 1.3002 | 1.3001 | 1.3 | 1.2001 | 1.2 | 1.1 | 1.0;
- Games::Dice::Advanced - simulates rolling dice, including loaded dice and dice with impossible numbers of sides
- MooseX::Types::StrictScalarTypes - strict Moose type constraints for integers, numbers, and Booleans
- versions 1.0.0;
- Devel::CheckOS - find what OS and OS “family” you’re running on, or require a particular OS
- versions 2.04 | 2.03 | 2.02 | 2.01 | 2.00 | 1.96 | 1.95 | 1.94 | 1.93 | 1.92 | 1.91 | 1.90 | 1.87 | 1.86 | 1.85 | 1.84 | 1.83 | 1.82 | 1.81 | 1.80 | 1.79 | 1.78 | 1.77 | 1.76 | 1.75 | 1.74 | 1.73 | 1.72 | 1.7 | 1.64 | 1.63 | 1.62 | 1.61 | 1.6 | 1.55 | 1.54 | 1.53 | 1.52 | 1.51 | 1.50 | 1.46 | 1.45 | 1.44 | 1.43 | 1.42 | 1.41 | 1.4 | 1.3 | 1.2 | 1.1 | 1.0 | 0.92 | 0.91 | 0.9;
- Scalar::Type - Figure out what type a scalar is
- Params::Validate::Dependencies::all_or_none_of - extension for Params::Validate::Dependencies to match all or none of a set of options
- Params::Validate::Dependencies - extends Params::Validate to make it easy to validate that you have been passed the correct combinations of parameters. Also a helper class for Data::Domain
- Unix::Sudo - run a block of code as root
- DBM::Deep - A pure perl multi-evel hash/array DBM that supports transactions. Originally by Joseph Huckaby, I am now a co-maintainer
- Data::CompactReadonly - a compact read-only database that consumes very little memory
- String::Binary::Interpolation - make it easier to interpolate binary bytes into a string
- Test::Differences - Test strings and data structures and show differences if not ok
- Data::Compare - compare arbitrary data structures. Originally by Fabien Tassin, I am now a co-maintainer
- App::ptimeout - time out a command, reporting errors
- Devel::Deprecations::Environmental - deprecations for your code’s surroundings
- Class::Mockable - a little module to help make your code mockable for testing, and a module to use with it for testing that your code calls other code correctly
- Sub::WrapPackages - wrap all subroutines in named packages, à la Aspects
- CPAN::FindDependencies - find which modules/distributions a module depends on
- lib::relative::to - Add a path to @INC relative to something else, such as your local checkout of some version control system
- CPU::Emulator::Z80 - a Z80 micro-processor emulator
- Tie::STDOUT - intercept data written to STDOUT and transmogrify it with functions of your choice
- Devel::Hide - hide modules from perl so that it can’t load them, useful for testing optional dependencies etc
- Algorithm-Diff-JSON - find the differences between two lists and report on them in JSON
- versions 1.000;
- IP::World - fast IP-address to country-code translation, originally by Craig MacKenna
- Test::Mojo::Role::HTTPstatus - Role to add some extra methods to Test::Mojo for testing routes’ HTTP status codes
- versions 1.0.0;
- Net::Random - retrieves truly random data from various online sources
- CPU::Emulator::Memory - a memory object for use in emulators. Also includes support for “banked” memory
- File::Find::Rule::Permissions - an extension for File::Find::Rule so you can find files based upon whether an arbitrary user has read/ write/ execute access to them
- Sub::Attribute - Reliable subroutine attribute handlers (now maintained by me, written by GFUJI)
- Devel::Caller::IgnoreNamespaces - abstracts Hook::LexWrap’s caller() magic out so it can be used by other modules
- XML::Tiny - a simple very light-weight parser for a useful subset of XML
- CPU::Emulator::Memory - a memory object for use in emulators. Also includes support for “banked” memory
- Statistics::ChiSquare - the chi-squared test. This was previously maintained by Jon Orwant
- Number::Phone::UK::DetailedLocations - make more accurate guesses for the locations of UK phone numbers
- Tie::Hash::Vivify - hashes that auto-vivify in interesting ways. Originally by Luke Palmer, I am now a co-maintainer
- Class::CanBeA - get a list of all the subclasses of a superclass
- CPAN::ParseDistribution - module for divining what versions of which modules are in a tarball or zip file from the CPAN or BackPAN
- Data::Transactional - RDBMS-like transactions for data structures. This obsoletes Tie::Hash::Transactional
- XML::DoubleEncodedEntities - fixes broken XML which has had entities encoded twice
- Palm::TreoPhoneCallDB - parse call history databases generated by Palm Treo smartphones
- Palm::Treo680MessageDB - parse SMS messages database generated by Palm Treo 680 smartphones
- Palm::SMS - Parser for old-style PalmOS SMS databases. Will use Palm::Treo680MessagesDB if needed and available. Taken over maintenance of old module from original author
- Class::DBI::ClassGenerator - create the skeleton of a Class::DBI application from a database schema
- Sort::MultipleFields - sort hashes on multiple fields, eg by author then by title
- Games::SGF::Go::Rotator - rotate an SGF record of a game
- Devel::CheckApplicationCapabilities - figure out what optional extras certain applications have built in
- Data::Hexdumper - a module to make arbitrary binary data human-readable
- DBIx::Class::QuaryLog::WithStackTrace - extends DBIx::Class::QueryLog to also log a stacktrace so you can easily see where in your application your database queries are coming from
- versions 1.0;
- Palm::ProjectGutenberg - module and script for easily converting e-books downloaded from Project Gutenberg into Palm Doc format
- Devel::CheckLib - check that you can link to a particular library
- File::Overwrite - overwrite the contents of a file and optionally unlink it, thus protecting against simple file recovery tools. You must read the section in the documentation entitled SECURITY
- XML::Tiny::DOM - a DOMmish front-end for XML::Tiny
- Bryar - a journalling (or blogging) program originally written by Simon Cozens, which I took over maintenance for. I have now handed the baton on to someone else
- DBIx::Class::SingletonRows - make rows from the database into singleton objects
- CPU::Z80::Assembler - a macro assembler for the Z80 micro-processor - no longer maintained by me, see the CPAN for more recent versions
- Statistics::SerialCorrelation - calculate the serial correlecation co-efficient for an array
- Tie::Hash::Longest - a hash which remembers its longest key and value
- Acme::Scurvy::Whoreson::BilgeRat - a multilingual insult generator, which takes pluggable backends for languages. The example plugin implements piratical insults and, like the name of the module, is in honour of International Talk Like A Pirate Day. Arrrrr!
- Acme::Licence - easily apply the licence of your choice to your code
- versions 1.0;
- NestedMap - nest map{}s within each other, with access to outer map{}s’ state from within inner maps
- versions 1.0;
- Acme::Pony - turns your code into an ASCII-art pony. Note that this module used to be known as Pony, and was renamed to fit the new convention that silly modules go in the Acme::* hierarchy. Step one of my master plan to take over the world is now complete, as I have achieved infamy
- Tie::Hash::Rank - a hash which ranks the data you throw at it
- Tie::Scalar::Decay - variables that decay. It defaults to creating a scalar which decays in a manner similar to radioactive decay