What's new on CPAN - January 2025
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::rhich (BRIANDFOY) is like the
which
Unix command, but takes a regex as argument - Extract the URLs in a web page with App::grepurl (BRIANDFOY)
- Control a VirtualBox with App::VirtualBoxUtils (PERLANCAR)
- Monitor the progress of your module through the PAUSE process using PAUSEx::Log (BDFOY)
- Authenticate over the OpenID Connect protocol with OIDC::Client (SMOURLHOU)
- Get Deutsche Bahn departure info using Travel::Status::DE::DBRIS (DERF)
Config & Devops
- Read configuration files from various sources with Advanced::Config (CLEACH)
- Getopt::EX::Config (UTASHIRO) provides another way to define configuration information for Getopt::EX modules
Data
- Extract the parts of a fully qualified domain name (subdomain, domain, TLD) with Net::Domain::Parts (STEVEB)
- DateTime::Format::RelativeTime (JDEGUEST) implements the Web platform’s Intl.RelativeTimeFormat class for relative time formatting of DateTime objects
Development & Version Control
- Create a tied scalar that forgets its value after a specified interval with Tie::Timely (BRIANDFOY)
- Scalar::Dynamizer (EPIXOIP) lets you create dynamic scalar variables whose values are recomputed every time they are accessed
- Streamline your tests through mocking, spying and dependency injection with Test::Mockingbird (NHORNE)
- Test Type::Tiny type constraints against Test2::Suite with Test2::Tools::TypeTiny (GSG)
- Convert HTML to Markdown using Text::HTML::Turndown (CORION)
- Get Perl core’s File::stat timestamps with the highest possible precision using File::stat2 (PHILOU)
- Measure in-process execution time for precise benchmarking with Linux::libperf::Simple (TONYC), a wrapper for the libperf library
Science & Mathematics
- Calculate Krippendorff’s alpha coefficient with Statistics::Krippendorff (CHOROBA)
- Crypt::Komihash (BAKERSCOT) converts strings into 64-bit integers using the Komihash hashing algorithm
- Re-arrange a Math::Symbolic expression into a product of factors with Math::Symbolic::Custom::Factor (MJOHNSON)
- Procure cryptographically random data from your system using Crypt::SysRandom (LEONT)
Other
- Convert sheet music into harmonica tabulatures with Music::Harmonica::TabsCreator (MATHIAS)
- Colouring::In::XS (LNATION) implements Colouring::In color conversion routines in C
- Decode aviation-related weather code strings into English using Geo::METARTAF (PCARTER)
- Map IP addresses to country and city names with Geo::Location::IP (VOEGELAS), an object-oriented wrapper for IP::Geolocation::MMDB
Tags
Feedback
Something wrong with this article? Help us out by opening an issue or pull request on GitHub