What's new on CPAN - January 2015
Welcome to “What’s new on CPAN”, a curated look at last month’s new CPAN uploads for your reading and programming pleasure. This year we’re running a new feature: “module of the month”, where we highlight our favorite new CPAN upload. Enjoy!
Module of the month
FFI::Platypus enables Perl to call foreign language functions (e.g. Python, C, Rust) using libffi. Unlike using XS, no knowledge of C is required. The module not only works great but has comprehensive documentation and is under active development.
Module author Graham Ollis has also blogged about it. FFI::Platypus is hosted on GitHub, check it out!
APIs & Apps
- Easily share files over HTTP with charon
- App::PerlXLock will lock the screen when run. Requires X11
- Need to serve a directory over HTTP? Check out App::SimpleHTTPServer
- App::SpeedTestis cool command line utility for testing connection speeds
- It comes with warnings but Google::Tasks looks like a useful API
Config & DevOps
- MetaCPAN::Helper provides some high-level sugar for searching MetaCPAN
- Shell::Tools imports an arsenal of convenient modules for scripting
- App::RemoteCommand execute commands on remote servers - very nice.
Data
- HTML::Differences provides “reasonably sane” HTML diffs
- Compare database structures using DBIx::Diff::Schema
- Data::Fake is a data generator module with a functional interface
- Read and update complex data structures easily using Data::Focus
- Phash::FFI is an interface for an external library that hashes media files to test for similarity
Development and Interop
- FFI::Me is provides some sugar over FFI::Raw that lets you call foreign language (e.g. C, Python, Ruby) library functions
- Generate a simple-but-sensible module readme with Dist::Zilla::Plugin::Readme::Brief
- Object::Properties is another class library, similar to Object::Tiny with some additional features
- ARGV::Struct parses complex command line arguments
Testing & Debugging
- Carp::Capture stores stack traces for later inspection.
- Dist::Zilla::Plugin::Test::TidyAll will test your distribution code is tidy before letting you publish it
Web
- A couple of new Catalyst modules; Catalyst::Plugin::Session::Store::Cookie does what it says, and Catalyst::Plugin::ResponseFrom which allows the request and capture of responses from external URLs.
- FCGI::Buffer provides a validator and cache for FCGI output
This article was originally posted on PerlTricks.com.
Tags
David Farrell
David is the editor of Perl.com. An organizer of the New York Perl Meetup, he works for ZipRecruiter as a software developer, and sometimes tweets about Perl and Open Source.
Browse their articles
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub