What's new on CPAN - June 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
- Get a REST API for your database with Cookieville
- Device::SaleaeLogic provides a Perl interface to Saleae Logic devices
- Etcd is a Perl API for etcd, a key value store
- Geo::Coder::OpenCage is a Perl API for OpenCage a geocoding service
- Math::OEIS provides an interface to Online Encyclopaedia of Integer Sequences. Who knew there was such a thing!
- Net::PMP is an interface for the Public Media Platform
- Manage GNU Screen windows easily with Term::GnuScreen::WindowArrayLike
- WWW::Spotify provide an interface to the Spotify API
- Interact with a RabbitMQ broker using WWW::RabbitMQ::Broker
- WWW::GoKGS is a scraper for the KGS Go server
- WebService::Amazon::Route53::Caching implements a caching layer for the Amazon Route 53 DNS service
- Send error reports to raygun.io from your Plack middleware with Plack::Middleware::Raygun
Apps
- Run CPANTS Kwalitee tests on your distribution with App::CPANTS::Lint
- App::Goto::Amazon provides a shortcut command for connecting to Amazon EC2 instances
- App::HPGL2Cadsoft converts HPGL files to Cadsoft Eagle script (a circuit board design tool)
Data
- AnyEvent::Pg::Pool::Multiserver let’s you make asynchronous DB calls to multiple Postgres servers, using AnyEvent::Pg
- Convert CSS into a Regexp::Grammar parse tree with CSS::Selector::Grammar
- Run massive numbers of insert and update statements on a MySQL database using DBIx::TxnPool
- Deeme is a “Database-agnostic driven Event Emitter” with support for multiple backends
- Auto-release your distributions to Stratopan with Dist::Zilla::Plugin::UploadToStratopan
- Lookup USA state names and capitals with Geo::States
- MySQL::Explain::Parser converts MySQL’s explain output into Perl
Development & System Administration
- DBG provides a collection of useful debugging functions for Perl code
- Another useful debugging too: get a stack trace for all system calls with Devel::Trace::Syscall
- Quickly generate Perl data structures using Data::Random::Structure
- MooseX::AuthorizedMethodRoles provides role checking through whitelist methods
- Get Pango constants without the heft of Glib and Gtk2 libraries with PangoConst
- Sort::Key::Domain sorts domain names
- Get Jenkins compatible TAP test output with TAP::Formatter::Jenkins
- Test::RequiresInternet will check for Internet connectivity before running tests - very useful.
Fun
- Looking for the gramatically correct version of “Buffalo buffalo …”? Look no further because Acme::Buffalo::Buffalo has got you covered
- Acme::MilkyHolmes provides character information on the famous Japanese animated cartoon
- Games::Go::Referee analyses sgf files for Go rule violations
Web
Conveniently run A/B testing on CGI applications with CGI::Application::Plugin::AB
CGI::Application::Plugin::Throttle implements a throttling function for users (identifies by IP address)
Avoid connecting to blacklisted URLs with HTTP::Tiny::Paranoid
New Dancer modules:
- Dancer::Plugin::CORS configures cross-origin sharing rules
- Dancer::Plugin::Negotiate wraps HTTP::Negotiate
- Dancer::Plugin::Swig implements a Swig wrapper
New Mojolicious modules:
- Mojolicious::Plugin::Logf flattens and logs complex data structures using sprintf
- Mojolicious::Plugin::MoreUtilHelpers implements some utility methods
- Mojolicious::Plugin::NetsPayment is an experimental module for making payments using Nets
- Mojolicious::Plugin::PayPal is an experimental module for making payments using PayPal
- MojoX::GlobalEvents is an event handler
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.