What's new on CPAN - December 2014

Welcome to “What’s new on CPAN”, a curated look at last month’s new CPAN uploads for your reading and programming pleasure.

APIs & Apps

Config & DevOps

  • Debug::Statements provides a convenient way of managing debug statements in code
  • Log every time a Perl process starts using Devel::PerlLog
  • There are already several Dist::Zilla plugins for auto-generating a distribution readme from pod, but Dist::Zilla::Plugin::Pod2Readme aims to be as simple as possible. Very useful for GitHub hosted distributions
  • Add a timeout to command line prompts, including default options with IO::Prompt::Timeout
  • Version::Compare can compare version numbers and determine which is greater
  • Allow certain exceptions to not be caught using Try::Tiny::Except
  • Regexp::SAR implements event handling on regexp matching conditions


  • Color::RGB::Util provides a bunch of useful functions for manipulating RGB colors
  • Implement a circular list with Data::CircularList
  • Data::Embed provides read / write accessors for data embedded in files
  • Looking for a faster Excel reader? Check out Data::XLSX::Parser
  • ETL::Yertl is a command line data ETL tool. At an early stage of development, but looks interesting
  • Only access part of a file using IO::Slice
  • SQL::Interpol can interpolate Perl variables into SQL queries
  • PQL::Cache is an in-memory Perl database with many useful features

Math, Science & Language

  • Geo::Coder::All is an all-in-one wrapper for geocoding data that works with Google, Bing, TomTom etc.
  • Compare image hashes with Image::Hash. Very cool!
  • Map::Metro is another implementation of public transport graphing with some useful features
  • Safely truncate unicode text using Unicode::Truncate


This article was originally posted on PerlTricks.com.


David Farrell

David is the editor of Perl.com. An organizer of the New York Perl Meetup, he works for ZipRecruiter as a software developer, and sometimes tweets about Perl and Open Source.

Browse their articles


Something wrong with this article? Help us out by opening an issue or pull request on GitHub