What's new on CPAN - May 2024
![](/images/176/2A6DE1D0-0ACE-11E5-A57F-EAC87F6D3C83.png)
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
- App::NutrientUtils (PERLANCAR) collects command-line utilities that access nutrient data
- Use App::htidx (GBROWN) to generate static HTML directory listings
- Access OpenSearch services using OpenSearch (LHRST)
- Version::libversion::XS (GDT) is a wrapper for the libversion library
- Couch::DB (MARKOV) is a CouchDB database client
Config & Devops
- You can now find or build/download the following non-Perl dependencies via Alien:
- NLopt library with Alien::NLopt (DJERIUS)
- Cue configuration language tool with Alien::cue (PLICEASE)
- Log::Log4perl::Config::YamlConfigurator (SVW) lets the Log::Log4perl logging framework to read YAML configurations
Data
- Data::Message::Board (SKIM) encapsulates a message board
- Data::Person (SKIM) encapsulates a person
- Collect color data according to the HashData specification from various sources:
- HashData::ColorCode::CMYK::JohnDecemberCom (PERLANCAR)
- HashData::ColorCode::CMYK::Pantone (PERLANCAR)
- HashData::ColorCode::CMYK::ToutesLesCouleursCom (PERLANCAR)
- Collect color data in plain hashes from various sources:
- Graphics::ColorNamesCMYK::BannersCom (PERLANCAR)
- Graphics::ColorNamesCMYK::JohnDecemberCom (PERLANCAR)
- Graphics::ColorNamesCMYK::Pantone (PERLANCAR)
- Graphics::ColorNamesCMYK::ToutesLesCouleursCom (PERLANCAR)
- Graphics::ColorNamesCMYK (PERLANCAR)
- Graphics::ColorNamesLite (PERLANCAR)
- Some new Sah-based schemas this month:
- Sah::SchemaBundle::Business::ID::NKK (PERLANCAR) for Indonesian family card numbers (NKK)
- Sah::SchemaBundle::Business::ID::NOPPBB (PERLANCAR) for Indonesian property tax numbers (NOP PBB)
- Sah::SchemaBundle::Business::ID::NPWP (PERLANCAR) for Indonesian taxpayer registration numbers (NPWP)
- Sah::SchemaBundle::Business::ID::SIM (PERLANCAR) for Indonesian driving license numbers (nomor SIM)
- Create checksummed CSV files with Salus (LNATION)
- Some new Feed::Data-based dynamic data feeds:
- Feed::Data::AlJazeera (LNATION) for Al Jazeera
- Feed::Data::BBC (LNATION) for BBC
- Feed::Data::CNN (LNATION) for CNN
- Access data that conforms to the TableData specification:
- from DBI with TableDataRole::Source::DBI (PERLANCAR)
- from DBI (using the SQLite driver) with TableDataRole::Source::SQLite (PERLANCAR)
- Use Jaccard coefficients to create sort key strings with SortKey::Num::similarity_jaccard (PERLANCAR)
- Shorten URIs with URI::Shortener (TEODESIAN)
Development & Version Control
- Import data into Request Tracker (RT) from a CSV file with RT::Extension::Import::CSV (BPS)
- A couple of Dist::Zilla plugins:
- Dist::Zilla::Plugin::Sorter (PERLANCAR) for distributions meeting the Sorter specification
- Dist::Zilla::Stash::OnePasswordLogin (RJBS) for getting 1Password login credentials
- Handle optional modules in your code with optional (EXODIST)
- Access 1Password services from your code with Password::OnePassword::OPCLI (RJBS)
- New scenarios for the Bencher benchmarking framework:
- Bencher::ScenarioBundle::Accessors (PERLANCAR) to benchmark class accessors
- Bencher::ScenarioBundle::Algorithm::Diff (PERLANCAR) to benchmark Algorithm::Diff
- Bencher::ScenarioBundle::Graphics::ColorNames (PERLANCAR) to benchmark Graphics::ColorNames and related modules
- Bencher::ScenarioBundle::Log::Any (PERLANCAR) to benchmark Log::Any
- Bencher::ScenarioBundle::Log::ger (PERLANCAR) to benchmark Log::ger
- Complete::Nutrient (PERLANCAR) provides nutrient-related completion routines
- Combine RBAC and ABAC access control with Authorization::AccessControl (TYRRMINAL)
- Output UTF-8 to the Win32 console with PerlIO::win32console (TONYC)
- QRCode::Any (PERLANCAR) aims to become a common interface to QRCode-related functions provided by other modules
Language & International
- Locale::Unicode (JDEGUEST) implements the Unicode BCP 47 U Extension
Science & Mathematics
- Access the NLopt library with Math::NLopt (DJERIUS)
Web
- Amon2::Plugin::Web::Flash (YOSHIMASA) provides Ruby on Rails-style flash functionality to the Amon2 web framework
- Data::HTML::Footer (SKIM) encapsulates an HTML footer
- New Mojolicious plugins:
- Mojolicious::Plugin::Authorization::AccessControl (TYRRMINAL) to integrate with Authorization::AccessControl
- Mojolicious::Plugin::Config::Structured::Bootstrap (TYRRMINAL) to configure your application in an opinionated way
- Mojolicious::Plugin::Data::Transfigure (TYRRMINAL) for access to Data::Transfigure
- Compress the body of your Plack applications’s response with Plack::Middleware::Zstandard (PLICEASE)
- Generate HTML tags for:
- definition lists with Tags::HTML::DefinitionList (SKIM)
- navigation grids with Tags::HTML::Navigation::Grid (SKIM)
- tree structures with Tags::HTML::Tree (SKIM)
Other
- Game::Cribbage (LNATION) provides a cribbage game engine
Tags
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub