What's new on CPAN - July 2016

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

APIs & Apps

Add copyright information to your images with App::CopyrightImage

Test the tone perception of your ears with App::tonematch

ExtUtils::PL2Bat converts Perl scripts to batch files to run on Windows

Get an interface to Mail Chimp’s API using Mail::Chimp3

OneAll is an all-in-one social media API, use it with WWW::OneAll

PowerShell wraps PowerShell commands

Snapforce::API provides a perly interface for the Snapforce CRM API

Communicate with socket.io servers using SocketIO::Emitter

Config & Devops

Get a simple API for querying Gentoo’s installed-package database using Gentoo::VDB

Perl::Critic::Policy::BuiltinFunctions::ProhibitReturnOr checks for use of return ... or ... - an easy mistake to make

- an easy mistake to make RT-Extension-Tags Extension using RT::Extension::Tags

Data

Parse::SAMGov parses SAM Entity Management Public Extract Layout from SAM.gov

Access CSV, XML, HTML and log data with SQL using DBD::AnyData2, a new version of DBIx::AnyData

Use DBIx::Class in asynchronous environments with DBIx::Connector::Pool

Data::IEEE754::Tools provides functions for inspecting and manipulating Perl’s floating point values

Create custom ETL processes using ETL::Pipeline

Geo::libpostal Perl bindings for the speedy libpostal geo coder (disclaimer: I am the module author)

MARC::Spec builds and parses the MARCspec record path language

Daniel Șuteu uploaded two search modules:Search::MultiMatch uses 2 dimensional arrays as keys, and Search::ByPrefix searches for substring matches

Normalize URIs with URI::Normalize - no more missing trailing slashes, yay!

YAML::LoadBundle loads a directory of YAML files into a single data structure, with different merge options. Nice!

Development & Version Control

Use map reduce with just a few lines of code using MapReduce::Framework::Simple

ReadonlyX aims to be a faster, better version of Readonly. I wonder how it compares to community favorite Const::Fast

Write your script in any encoding with Filter::Encoding

Alt::FFI::libffi provides a Perl Foreign Function interface based on libffi

Monkeypatch Moose exceptions with MooseX::ErrorHandling. Docs say “This module is almost certainly a bad idea”. Ready for production then!

Params::ValidationCompiler let’s you create and re-use parameter validation routines

Hardware

Device::Chip::AVR_HVSP enables high-voltage serial programming for AVR chips

Other

Geo::GoogleEarth::AutoTour generates Google Earth tours using tracks and paths

Web