What's new on CPAN - February 2015

Welcome to “What’s new on CPAN”, a curated look at last month’s new CPAN uploads for your reading and programming pleasure. February’s uploads were a goldmine of new toys. Enjoy!

Module of the month

File::Serialize will read from and write to from yaml, json and toml files, seamlessly converting from native Perl data structures into the required format. It just does the right thing, leaving the developer to focus on their code.

Module author Yanick Champoux also wrote an article about it. With so many great new CPAN uploads, it’s not easy choosing the module of the month. What I like about File::Serialize is that it solves a common problem conveniently, and I know I’ll use it in my code. Check it out!

APIs & Apps

App::cloc is the a brand new CPAN package for the established cloc application. Great to see it on CPAN

Wow. Finance::Nadex is a full featured API for the North American Derivatives Exchange. Make sure you do your unit testing before selling options on Anacott Steel!

Automatically spin up surveys with Net::Surveymonkey

Net::Google::SafeBrowsing3 provides an interface for the latest version of Google’s safe browsing API

This is interesting: WebService::Prismatic::InterestGraph

Several Amazon AWS goodies:

  • AWS::IP provides Amazon AWS ip ranges in a searchable, cache-able way (disclosure, I am the module author)
  • Verify SNS messages with AWS::SNS::Verify
  • Amazon::S3::Thin is a lightweight, transparent interface for S3

Config & DevOps


Development and Version Control

  • Call::Haskell provides a foreign function interface for the functional programming language. See also Functional::Types which implements a Haskell-like type system in Perl
  • Git::Crypt will encrypt and decrypt files for storing sensitive data in repos. Cleverly the encryption is done line-by-line to reduce version control noise
  • GitHub::MergeVelocity produces a neat report on GitHub repos showing how quickly they merge (and close) pull requests. Use it if you’re in doubt of whether to contribute to a repo!


Science and International

  • Algorithm::BitVector is a port of the popular Python library BitVector, by the original author
  • FAST provides Unix-like tools for analyzing bioinformatic sequence records


  • LWPx::UserAgent::Cached caches HTTP get requests and is polite enough to let you use your own cache, with sane defaults
  • Articulate is a lightweight CMS plugin for Dancer
  • Lithium::WebDriver is an awesome, full featured library that can create and control webdriver instances in both Selenium and Phantomjs sessions. Module seems more up to date on GitHub. Also see Test::Lithium
  • Pulp provides syntactic sugar for the Kelp web framework

This article was originally posted on PerlTricks.com.


David Farrell

David is a professional programmer who regularly tweets and blogs about code and the art of programming.

Browse their articles


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