What's new on CPAN - July 2015
Welcome to “What’s new on CPAN”, a curated look at last month’s new CPAN uploads for your reading and programming pleasure. Enjoy!
Module of the month
There have been many inside-out object implementations, but none like this. Dios is a “Declarative Inside-Out Syntax” object system by Damian Conway. It’s a Perl 6-style object system that supports functions, methods, signatures, public/private/readonly attributes, types and structured exceptions.
Dios comes with comprehensive documentation and a decent test suite. Implemented using Keyword::Declare (another new module from Damian), it even garnered praise from Reini Urban who identified one thing you may miss - no support for roles. Time will tell if they’re added, but for now I can only say “WOW!”.
- CMS::Drupal provides a Perl interface to Drupal, the CMS
- Marketplace::Ebay make API calls to eBay (with XSD validation)
- Protocol::Matrix helper functions for the Matrix protocol
- Al Newkirk released APIs for Twitter and Facebook
- WebService::PayPal::PaymentsAdvanced is a simple wrapper around the PayPal Payments Advanced web service
- Shorten links using OneShortLink with WWW::Shorten::OneShortLink
- Interface with Amazon Marketplace Web Services using Amazon::MWS
- Analyze the configuration of any SSL web server on the using ssllabs.com with WebService::SSLLabs
- App::podispell is an interactive Pod spell checker
- Prefix linedata with their arrival timestamp using App::Timestamper
- App::perlsh is a tiny Perl REPL, nice!
- Keep an eye on network port changes with App::Monport
Config & Devops
- NetHack::NAOdash extracts statistics from NetHack xlogfiles
- Two C library installers: Alien::Libbz2 and Alien::TinyCCx
- Run an SNTP Server with Net::SNTP::Server
- File::Dedup can dedupe files across directories
- Run the same command via SSH on many remote servers at the same time using App::SSH::Cluster
- Starch is an implementation-independent persistent state class with interfaces for CHI, DBI and DBIx::Class
- A JSON Merge Patch implementation: JSON::MergePatch
- Asset::Pack packs assets into Perl modules that can be fat-packed
- Interface with the InfluxDB time series database using InfluxDB::LineProtocol and AnyEvent::InfluxDB
- DBD::Crate is a new DBI driver for the Crate database
- A data selection parser and applicator with simple DSL, take a look at Data::Selector
- A Simple Financial Information eXchange (FIX) protocol implementation: FIX::Lite
Development & Version Control
- Wield lexical control of warnings with warnings::lock
- An early release, Meta::Grapher::Moose can produce a GraphViz graph showing meta-information about classes and roles
- Manage Perl’s experimental features more easily using experimentals
- Keyword::Declare let’s you declare new keywords, comprehensively documented. Wow!
- Simple-but-useful Devel::Caller::Util can return the entire caller stack on demand. Useful for printing deep stack traces.
- Declare exception classes in a single file and import them with Throwable::SugarFactory. Very nice!
- Test::Core is a Perl testing bundle
Language & International
- Perl::Tokenizer is a tiny Perl code tokenizer built from regexes. But is it any good …
Science & Mathematics
- A wrapper for the ‘tsort’ (topological sort) command line utility Sort::TSort
- PDLDM::Rank calculates and finds tied ranks of a PDL data matrix
- PDLDM::Common provides a few PDL utilities for data mining
- See the differences of a file as a HTML table with Algorithm::Diff::HTMLTable