What's new on CPAN July 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
- AntTweakBar provides Perl bindings for the GUI library
- Use PayPoint’s merchant engine with Business::PayPoint::MCPE
- Device::PCDuino is a hardware interface for the pcDuino, by Timm Murray author of UAV::Pilot
- HBase::JSONRest is a RESTful interface to Apache HBase
- Net::Amazon::Utils provides helper utils for AWS
- Access Desk.com’s API with WWW::Desk
Apps
- Test GnuPG email sign/encrypt with App::Eduard
- App::plackbench is a benchmarking tool for Plack applications
- Ensure that you only run a command once with App::single
Data
- Bio::Lite is a lightweight implementation of useful bio Perl functions
- Convert email addresses into the DNS rname format and vice versa using DNS::RName::Converter
- Hash::Ordered provides a simple implementation of an ordered hash with robust performance. Author David Golden presented the module and comparison benchmarks recently at NY.pm (slides)
- Generate sets of English names with Mock::Person::EN
- Pod::Markdown::Github converts POD to Github-sepcific markdown
Development & System Administration
- Benchmark::Report::GitHub generates benchmark reports from Travis-CI and publishes them on GitHub wiki
- Augment your DBIx::Class schema objects with additional logic using DBIx::Class::Wrapper
- Dist::Zilla::Plugin::Git::Contributors pulls all of the author names from your Git commit history and adds them to your module’s metadata
- Looking for a drop-in replacement for Getop::Long with tab completion? Check out Getopt::Long::Complete
- JCONF is a JSON format optimized for configuration files. JCONF::Writer produces JCONF files from Perl data structures
- Enable OAuth2 support in command line applications with OAuth::Cmdline
- Pegex::Forth is a Forth parser and interpreter built on Pegex
- Refine is a clever module that let’s you add methods to objects (not classes) at runtime
- Use Type::Tiny::XS for an even faster Type::Tiny
Fun
- Map::Tube::London will tell you the shortest route between two stations on the London Underground
- Text::Pangram identifies strings which are pangrams
- Access your Zombies Run! stats using WebService::ZombiesRun
Mojolicious
- Mojo::UserAgent::UnixSocket enables Mojo::UserAgent to interact with sockets
- Use HTML::Template::Pro templates in your application with Mojolicious::Plugin::HTMLTemplateProRenderer
- Support RESTful operations with Mojolicious::Plugin::REST
- Log webpage user events with Mojolicious::Plugin::Surveil
Testing
- Test::Subtests is interesting: it wraps Test::More tests into subtests and can allow some of them to fail
- Write RSpec - like tests for Rex with Rex::Test::Spec
- Test::Deep::DateTime::RFC3339 tests that RFC3339 timestamps are within a certain tolerance
- Test::Docker::MySQL launches MySQL docker containers
Web
- Reuse your Kelp routes with KelpX::AppBuilder (Kelp is a Plack based web micro-framework)
- Plack::App::CGIBin::Streaming enables CGI applcaitions to use the Palck streaming protocol
- Tie variables to DuckDuckGo search using Tie::DuckDuckGo
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.