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.

APIs

Apps

  • 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

Data

  • 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

Fun

Hardware

  • 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

Tags

David Farrell

David is the founder and editor of PerlTricks.com. An organizer of the New York Perl Meetup, he works for ZipRecruiter as a software developer.

Browse their articles