What's new on CPAN - August 2024
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
- Create an RSS feed from Markdown files with App::BookmarkFeed (SCHROEDER)
- Mask standard input to a command with App::optex::mask (UTASHIRO)
- App::prefixcat (PERLANCAR) is like Unix
cat
but prefixes each line with the filename - Scrape a Github release page for asset files with Github::ReleaseFetcher (TEODESIAN)
- Some entertaining demonstrations of API clients:
- Acme::Free::API::ChuckNorris (OODLER)
- Acme::Free::API::Stonks (OODLER)
- Acme::Free::API::Ye (OODLER)
- Langertha (GETTY) provides a unified interface to various LLM API’s
Config & Devops
- OpenFeature::SDK (CATOUC) lets you flag features in your code on the basis of the OpenFeature API
- Autoconfiscate a Perl application with Autoconf::Template (BIGFOOT)
- Portably locate per-distribution and per-module shared files with File::ShareDir::Tiny (LEONT)
Data
- Store the constraints of multiple constraint libraries with kura (KFLY)
- Parse Indonesian vehicle plate numbers with Business::ID::VehiclePlate (PERLANCAR)
- New Sah schemas:
- Sah::SchemaBundle::DNS (PERLANCAR) for schemas related to DNS
- Sah::SchemaBundle::Data::Sah (PERLANCAR) for schemas related to Data::Sah
- Sah::SchemaBundle::DataSizeSpeed (PERLANCAR) for schemas related to data sizes & speeds (filesize, transfer speed, etc.)
- DateTime::Locale::FromCLDR (JDEGUEST) provides locale data for DateTime via the also newly released Locale::Unicode::Data (see Language & International)
Development & Version Control
- Net::OpenSSH::More (TEODESIAN) adds features to Net::OpenSSH
- Use JSON Schema in your Moose classes with MooseX::JSONSchema (GETTY)
- Convert POD to HTML with MetaCPAN::Pod::HTML (HAARG)
- Ascii::Text (LNATION) generates ASCII text in various fonts and styles
- Perform asynchronous actions when a socket changes status with IO::SocketAlarm (NERDVANA)
- Implement clients and servers that communicate over a local UNIX socket with IPC::MicroSocket (PEVANS)
- Access fields of other Object::Pad instances with Object::Pad::Operator::Of (PEVANS)
- RxPerl::Extras (KARJALA) provides extra operators for RxPerl
- Syntax::Keyword::Assert (KFLY) provides an assert keyword with no runtime cost in production
- Task::MemManager (CHRISARG) is a memory allocator for low level code
- Give ANSI colors to the screen output of
sprintf
with Term::ANSI::Sprintf (LNATION)
Language & International
- Locale::Unicode::Data (JDEGUEST) gives you access to Unicode CLDR data from an SQLite database
Science & Mathematics
- Bio::EnsEMBL (ABECKER) provides access to EnsEMBL genomic databases
Web
- Use Catalyst::Plugin::Profile::DBI::Log (BIGPRESH) to log database queries in your Catalyst routes with DBI::Log
- Use DBI-based sessions in Dancer2 with Dancer2::Session::DBI (EPISODEIV)
- Access OAI repositories in a web app with Plack::App::Catmandu::OAI (NJFRANCK)
Other
- Some categorization of CPAN distributions:
- Acme::CPANModules::MultipleDispatch (PERLANCAR) for modules that do smart matching
- Acme::CPANModules::UnixCommandVariants (PERLANCAR) for CLIs that are some variants of traditional Unix commands
- Map::Tube::Rome (GDT) is a Map::Tube extension for the Rome subway system
Tags
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub