What's new on CPAN - January 2014

Welcome to the first edition of “What’s new on CPAN”. Every month we aim to bring you a curated look at last month’s new CPAN uploads for your reading and programming pleasure. Enjoy!



  • proxyhunter is a proxy server search and checking tool. It supports Postgres, MySQL and SQLite as backend models.
  • Pipe application output to a websocket with App::screenorama it can capture stdout / stderr.
  • App::YTDL is another YouTube downloader. Time will tell if it surpasses current king WWW::YouTube::Download.



  • Work with JSON in Perl? Consider IO::Async::JSONStream it asynchronously decodes JSON into Perl data structures.
  • EBook::EPUB::Check validates .epub files.
  • Need to create realistic but fake data? Faker is a re-implementation of the classic Data::Faker module.
  • Give Image::JPEG::EstimateQuality a JPEG and it will estimate the photo quality.
  • Convert markdown to phpBB / BBCode using Markdown::phpBB.
  • Biblio::SICI provides methods for working with Serial Item and Contribution Identifiers an ANSI/NISO standard for periodicals.
  • If you work with TBX data, Convert::TBX::Min will convert TBX-Min to TBX-Basic.

Development & System Administration


  • Chess::960 is a random starting position generator for Chess960.
  • WebService::SyoboiCalendar provides an interface to an online Japanese TV schedule for Anime shows.
  • Check out Acme::Ehoh, it will return your lucky direction, based on ancient Japanese traditions.

Maths & Science


  • Forward TCP / UDP packets to another host with Net::Forward.


  • Lembas is a new framework for testing command line applications. It has a simple markup that follows shell commands almost verbatim.
  • Want to use database data in your testing? Take a look at Test::FixtureBuilder.


Enjoyed this article? Help us out and retweet us!

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