What's new on CPAN - December 2016

Welcome to “What’s new on CPAN”, a curated look at last month’s new CPAN uploads for your reading and programming pleasure. There were lot’s of fun holiday presents added to CPAN last month, enjoy!
APIs & Apps
- App::RoboBot is a multi-protocol S-Expression chatbot
- Remove ANSI coloring from output or files using App::UnANSI
- Bb::Collaborate::Ultra provides Perl bindings for Blackboard Ultra virtual classrooms
- JIRA::REST::Class is an OO module built on JIRA::REST
- Use the Azue Cognitive Services Face API with Net::Azure::CognitiveServices::Face
- WWW::Wikipedia::LangTitles gets interwiki links from Wikipedia, with some interesting use cases
Config & Devops
- Beam::Runner - run methods from objects in Beam::Wire containers
- Monitor::MetricsAPI provides metrics collection and reporting for Perl applications.
- Redis::RateLimit provides sliding window rate limiting with Redis
Data
- Data::Layout::BuddySystem Layout data in memory allocated via a buddy system
- Universally Unique Lexicographically Sortable Identifier using Data::ULID
- JSON::RPC2::TwoWay Transport-independent bidirectional JSON-RPC 2.0
- Mongol is a basic MongoDB wrapper for Moose objects with a great name
- Programatically build HTML (a la CGI) using Moonshine::Element
- Convert pod to Confluence-flavored markdown with Pod::Confluence
- Text::Diff::Unified::XS - if you need a fast diff this might be your module
Development & Version Control
- ‘Unbless’ Perl objects using Acme::Damn - love the name
- App::TestOnTap is a comprehensive test driver
- Lift subroutine calls into the BEGIN phase using BEGIN::Lift. If you’re interested in this module, also check out B::CompilerPhase::Hook
- MarpaX::Languages::Dash is a Marpa-based parser for the DASH language
- MooseX::EventEmitter is an event emitter for Moose
- This is an interesting idea: subroutine versioning Sub::Versions
- UNIVERSAL::Object aims to be “a useful base class”
Language & International
- Get the names of postcodes/zipcodes with Lingua::Postcodes
Other
- Game::Asset loads game assets (images, music, etc.), author Timm Murray has uploaded several game-related modules recently. Check them out
- UMLS::Association provides different semantic association measures in order to calculate the semantic association between two concepts in the UMLS
Science & Mathematics
- Do cryptography in pure Perl using Crypt::Perl
- HTML::Notebook compose HTML documents using notebook style, might be good for scientists
- Produce graphs of Stepford Dependencies using Stepford::Grapher
Web
- Catalyst::Plugin::Perlinfo displays additional information about Perl on the Catalyst debug screen
- Generate charts from data using BokehJS with Chart::Bokeh
- Dancer2::Plugin::ParamTypes is a parameter type checking plugin for Dancer2
- Turn TCP streams into a line-based stream with MojoX::LineStream
- Conveniently fire off subprocesses in Mojo apps using Mojolicious::Plugin::Subprocess
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.