What's new on CPAN August 2014

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



  • Looking for book deals? App::BarnesNoble::WishListMinder monitors a wishlist of books for price changes
  • App::CPANRepo is handy utility that returns the source URL of a given module name
  • App::mirai is an impressive-looking debugger for future programming
  • The Unix which program returns only one matching binary. Enter App::multiwhich which helpfully returns all matching binaries for a given search (edit: the author has blogged recommending File::Which instead)

Async & Concurrency

  • Event::Distributor implements an in-process (synchronous) pub / sub model - it’s early days but looks interesting
  • AnyEvent::Future provides a future object for concurrent programming with the popular AnyEvent module


  • Bloom::Scalable is a scalable bloom filter implementation - a probabilistic dataset that saves space
  • Search complex Perl data structures with Data::Seek
  • Working with non UTC datetimes? DateTimeX::Period provides a safe cross-timezone implementation of DateTime methods
  • Variable::Disposition helps you forcibly dispose of variables

Config & System Administration

  • IOD (“INI On Drugs”) is a new configuration file format inspired by INI
  • Alternatively you prefer to use Perl hashrefs as config files with Config::FromHash
  • For a bare-bones fork interface, have a look at IPC::Open2::Simple



  • Big developments on the hardware front: Device::WebIO provides a standardized interface for hardware devices including Arduino, PCDuino and Raspberry Pi
  • Device::BusPirate provides an interface for the Bus Pirate hardware electronics debugging device
  • How cool is this: Device::Gembird let’s you control the voltage on a Gembird surge protection device with Perl

Language & International

  • Unicode::Security provides interesting features including a function to determine if two Unicode strings are visually confusable
  • Unicode::Block enables you to take a character and iterate through the entire block of Unicode characters to which it belongs

Object Oriented

  • Gloom is a dependency-free new OO library released a couple of months back
  • Anonymous objects are an intriguing idea: Object::Anon is an embryonic implementation, the author is looking for feedback

Testing & Exceptions

Update: reference to App::multiwhich updated following correspondence from the author. 2014-09-05

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