Issue #772 - 2026-05-11 - PTS 2025

latest | archive | edited by Mohammad Sajid Anwar
This edition was made possible by the supporters of our cause.
Don't miss the next issue!

Hi there,

The Perl Toolchain Summit 2026 held in Vienna from 23rd - 26th April. I almost forgotton about it, until I read the blog post by Philippe Bruhat. It was refreshing to see the group met and continued the great work. First post event report was shared by Thomas Klausner. The event report gave a detailed insights what happend during the 4-days event. I was hoping to see more such event report from other attendees. Luckily, we had few more to keep you busy by Timothy Legge, Leo Lapworth, Thibault Duponchelle, Shawn Sorichetti, and Paul Johnson. There was even a group photo shared by Paul. I am looking for an update on my personal favourite project MetaCPAN led by Olaf Alders.

Happy to see, Stats::LikeR, which provides R statistical functions. I wish it was available few years ago. I was approached by a research student of an Australian university few years ago asking for help with his Perl script doing R's equivalent function in Perl. Fortunately we did it and paper was accepted in the end. I was surprised by his choice of language for his research paper. He could have easily used R rather than creating equivalent function in Perl. He was well versed with R as well, still he choose Perl, whilst learning the language.

Please watch the recent page on MetaCPAN for such cool modules. Enjoy rest of the newsletter.

Mohammad Sajid Anwar


Articles

DBIx::Class::Async - Oracle Database

by Mohammad Sajid Anwar (MANWAR)

This post I shared about the proof of support for Oracle in DBIx::Class::Async. It is always assuring the async operations with Oracle database.

Signing CPAN Releases with SigStore

by Timothy Legge

Timothy Legge describes a contemporary way of achieving security in the Perl ecosystem with the implementation of Sigstore to sign CPAN Releases. This post describes how we will transition from using traditional GPG signatures to shorter and easier to obtain certificates, while providing a clear roadmap to assist maintainers (and others) in adopting "keyless" signing and enhancing supply chain security.

DBIx::Class - Schema Class (Part 2)

by Mohammad Sajid Anwar (MANWAR)

This is part 2 of the series post about DBIx Schema Class. In this post, I shared how we can configure session on the fly and trap exception globally.

DBIx::Class - Schema Class (Part 3)

by Mohammad Sajid Anwar (MANWAR)

In the third part of the series, I discussed the use of DBIx::Class::Schema::Config and how we can securely manage database credentials.

Beautiful Perl feature: low-precedence boolean operators 'and', 'or'

by Laurent Dami (DAMI)

The elegant usefulness of Perl's low-precedence boolean operators (and, or, not) compared to the more common high-precedence operators (&&, ||, !) is further explored by Laurent. The post shows how the low-precedence boolean operator can be used as a "control flow tool" creating readable, idiomatic code using the example of the classic "do or die" convention.

Explain act

by Mohammad Sajid Anwar (MANWAR)

In this post, I introduced the workflow automation tool, act. It gives hands-on tutorial on the subject.

Ideas for the CPAN Meta v3 Specification

by Robert Rothenberg (RRWO)

Improvements to how developers will be able to manage their dependencies and the tools that they use for building them is the goal of several forward-thinking updates proposed by Robert Rothenberg to the CPAN Meta Spec v3. His blog post includes recommendations for enhancements to provide developers with standardised, enhanced requirements for their "develop" phase, as well as improved ways to specify what hardware or operating system a developer's distribution requires to successfully run.


Discussion

This week in PSC (223) | 2026-05-04

A brief report from the Perl Steering Council has provided us with an update about their most recent triage session. Among several small changes and the completion of various CPAN dual-life module updates, one of the major highlights of this update is that there are currently no release blockers.


CPAN

GTC 2.1 go pro

by Herbert Breunung (LICHTKIND)

The GTC (Graphics::Toolkit::Color) project has been going well according to Herbert Breunung's progress report on it, including the Go-Pro initiative for professional grade stability. The update on the 2.1 release completed a more efficient API, reducing the amount of work involved in creating colors or generating palettes, and successfully built on a solid foundation for future integration into GUI's and plotting applications.


The Weekly Challenge

The Weekly Challenge by Mohammad Sajid Anwar will help you step out of your comfort-zone. You can even win prize money of $50 by participating in the weekly challenge. We pick one champion at the end of the month from among all of the contributors during the month, thanks to the sponsor Marc Perry.

The Weekly Challenge - 373

by Mohammad Sajid Anwar (MANWAR)

Welcome to a new week with a couple of fun tasks "Equal List" and "List Division". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the FAQ.

RECAP - The Weekly Challenge - 372

by Mohammad Sajid Anwar (MANWAR)

Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Rearrange Spaces" and "Largest Substring" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.

Spaces at Large

by Arne Sommer

Arne Sommer takes a close look at the nuances of whitespace in Raku, especially in relation to how the context of either string or array can affect whitespace. This post provides a practical investigation into how to handle whitespace effectively. Examples of how Raku's syntactical flexibility will allow for clean, expressive code to be written around more complex data structures have been provided.

Perl Weekly Challenge: Week 372

by Jaldhar H. Vyas

Jaldhar demonstrates the unique strengths of each language, contrasting Perl’s efficient hash-based counting with Raku’s expressive built-ins to solve these algorithmic puzzles.

Regular Sub-Gaps

by Jorg Sommrey

In this post, Jorg Sommrey provides an in-depth overview of his approaches to each of the two tasks for this week's challenge. He demonstrates that it is possible to write relatively short and very readable code by using List::Util and idiomatic hash slicing. He also shows how these techniques easily handle edge cases such as the case insensitivity of the frequency count of words.

Perl Weekly Challenge 372

by W Luis Mochan

Mochan takes a higher-level look at Rearrange Spaces by breaking down an input string into an array and then using the tr/// operator to determine how many elements are in the array before performing some arithmetic to calculate how many spaces need to be added. The x operator and join are both used to construct the output from the individual elements. For the solution to Largest Substring, Mochan uses a hash data structure to remember the first time each character appears in the input string so that he can keep track of the longest substring while going through the input string using an index. He also updates his maximum substring variable each time he sees a character he's previously encountered.

Very Stringish

by Matthias Muth

Matthias Muth offers straightforward, modernly written Perl code using the new v5.40 features of Perl’s builtin::indexed to track the position of all characters in Finding Largest Substring so as to find the maximum length substring in the most efficient manner possible.

Empty Substrings and Empty Spaces

by Packy Anderson (PACKY)

In his blog post, Packy Anderson focuses on the edge cases for each of the challenges and provides solid solutions in Perl, Raku, Python and Elixir. He also explains the logic of his "Rearrange Spaces" solution with exact math for distributing spaces between words, as well as a clever method for handling the -1 requirement for unique characters in his "Largest Substring" solution.

Strings of strings

by Peter Campbell Smith

Peter has given two stylish implementations of the weekly challenge using Perl's native string functions to produce very compact code. For Rearrange Spaces he worked out precisely what gaps were needed to recreate the string using join, and for the Largest Substring solution he had one loop with a hash to keep track of where each character was seen first so that the answer was determined with one cycle through the original string.

The Weekly Challenge - 372: Rearrange Spaces

by Reinier Maliepaard

Reinier presents a straightforward solution with his algorithmic method to achieve a successful outcome on this week's "Rearranging Spaces". This is done in Perl primarily because of its preciseness regarding how many spaces to be distributed across the gaps between the words and determining how many of the combined gaps will result in an even distribution. This post emphasizes on a well-structured plan, such as separating the words from one another using split, and then joining them back together with join and the x operator.

The Weekly Challenge - 372: Largest Substring

by Reinier Maliepaard

Reinier had a methodical solution written in Perl for Weekly Challenge task of finding the largest substring. He used a hash to track the first instance of each character encountered when traversing the string. When he finds two identical characters, he determines their distance by subtracting the first instance's index from the second instance's index, and keeping track of the maximum value found up to that point; if he doesn't find duplicates then he will return -1.

The Weekly Challenge #372

by Robbie Hatley

Robbie gives in-depth solutions to the problem, providing excellent input handling as well as clarity in logic. When working with Rearranging Spaces, he uses a regex to identify the count of spaces & words, ensuring the math for gap size calculations & remainders are correct. For example, with regards to one word, he handles it just like the rest (edge cases). In terms of solving the problems of Largest Substring, he uses an array to save the first and last seen indexes of each character as he iterates through the character set of the input string making a distance calculation between these saved locations to determine the largest distance. The solutions are both mathematically correct and easily understood.

Space is the Largest Place

by Roger Bell West (FIREDRAKE)

For Rearrange Spaces, Roger considers how to find the gap sizes through integer division and then uses the modulus operator for trailing spaces. He ensures that his logic from each of his implementations remains consistent. In the case of Largest Substring, he uses a "first-seen" hash to improve performance by only traversing through the string one time. He shows us, in his post, an engineering-oriented coding style while also documenting that these algorithmic patterns are transferable to working with dynamic languages.

Distant spaces

by Simon Green (SGREEN)

In Finding the Largest Substring, Simon created a dictionary in Python and hash in Perl to store the first occurrence of each of the letters in the string. Once this was done, he proceeded through the entire string to compare the current index to the index where the letter was first stored; this enabled him to efficiently track the maximum distance between the first occurrence and the current occurrence. It clearly illustrate that string manipulation and data structures are accomplished using virtually the same logical steps in each of these two programming languages.


Rakudo

2026.18 Star Wars Day

by Elizabeth Mattijsen (ELIZABETH)


Weekly collections

Event reports

Perl Toolchain Summit 2026 - Vienna

by Timothy Legge

According to Timothy Legge, there was an effective meeting; the purpose of this summit was to develop the CPAN Security Group (CPANSec) into a CVE Numbering Authority and improve the security disclosure process for maintainers of CPAN modules. An example of a technical outcome resulting from the summit was the inclusion of signature function support in the distribution of Crypt::OpenSSL::RSA as well as the decision to deprecate Module::Signature in favour of more modern integrity checks.

PTS 2026

by Leo Lapworth (LLAP)

Leo Lapworth highlights the 2026 Perl Toolchain Summit by describing some of the major sponsorships that made it possible. He also discusses his own efforts to modernize the MetaCPAN infrastructure and the value of in-person collaboration for solving problems with other core developers.

The Perl Toolchain Summit 2026

by Paul Johnson (PJCJ)

In this blog post, Paul Johnson provides his impressions of an intense and productive Perl Toolchain Summit 2026 held in Vienna, and highlights progress made in both Devel::Cover version 2.00 and on integrating with MetaCPAN.

My Perl Toolchain Summit 2026

by Thibault Duponchelle

Thibault’s PTS 2026 report features a heavy lift on Test::Smoke releases and CPAN security hardening. His post offers a deep dive into the technical vetting of YAML payloads and the successful launch of cpm v1.0.

PTS 2026: What Actually Happened

by Shawn Sorichetti

Shawn recaps the PTS 2026 focus on infrastructure, detailing the migration of MetaCPAN services to Kubernetes and enhanced secret management. It’s a grounded look at the high-stakes maintenance work that powers the Perl ecosystem.


Events

Exploring Perl Modules

May 20, 2026

The Perl and Raku Conference 2026

June 26-29, 2026, Greenville, SC, USA



You know, you could get the Perl Weekly right in your mailbox. Every Week.
Free of charge!

Just ONE e-mail each Monday. Easy to unsubscribe. No spam. Your e-mail address is safe.
Perl Weekly on Twitter RSS Feed of the Perl Weekly. Updated once a week