<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gabor Szabo</title>
    <description>The latest articles on DEV Community by Gabor Szabo (@szabgab).</description>
    <link>https://dev.to/szabgab</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F36720%2F9b6106f4-f64e-47c6-8963-82a80ca0eda4.jpg</url>
      <title>DEV Community: Gabor Szabo</title>
      <link>https://dev.to/szabgab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/szabgab"/>
    <language>en</language>
    <item>
      <title>Perl 🐪 Weekly #779 - LinkedIn and the Perl Weekly</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 29 Jun 2026 07:39:29 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-779-linkedin-and-the-perl-weekly-62l</link>
      <guid>https://dev.to/szabgab/perl-weekly-779-linkedin-and-the-perl-weekly-62l</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/779.html" rel="noopener noreferrer"&gt;Perl Weekly 779&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there!&lt;/p&gt;

&lt;p&gt;In the 15 years since the Perl Weekly was first published we included posts from more than 800 authors. For 114 of them we have their LinkedIn profile, for 264 we have their PAUSE id, and for 200 we have a picture. I would love to get your help finding more. You can see the &lt;a href="https://perlweekly.com/authors" rel="noopener noreferrer"&gt;full list of authors&lt;/a&gt;. The source is in the &lt;code&gt;src/authors.json&lt;/code&gt; file in our &lt;a href="https://github.com/szabgab/perlweekly/" rel="noopener noreferrer"&gt;repository&lt;/a&gt;. Please help us locate more information about our authors. Send a PR or send me an email with links to the profiles of the authors. (If you send PR send a separate one for each author. That will make it easier to accept them.)&lt;/p&gt;

&lt;p&gt;To make the LinkedIn information more useful I've also update the templates of the Perl Weekly and in each issue we'll include the link to the LinkedIn profile of each author. If we have it on file.&lt;/p&gt;

&lt;p&gt;Discussing posts on Reddit: Many of the Perl Weekly posts have appeared on Reddit and some have active discussion. I used to embed links to these discussions in the text of the entry, but now Reddit got a separate field in our data files. From now we can include a little Reddit logo next to each entry linking to the respective Reddit post. I hope this will allow you to get involved in the discussion.&lt;/p&gt;

&lt;p&gt;We had two excellent presentations at the Perl Maven online event last week. You can find the videos below. Make sure you 'like' them. You can &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;register to the next event&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Finally, if you'd like to join our WhatsApp or Telegram chat group about Perl, &lt;a href="https://szabgab.com/contact" rel="noopener noreferrer"&gt;contact me&lt;/a&gt; via the respective platform and I'll add you to the channel.&lt;/p&gt;

&lt;p&gt;Enjoy your week!&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Gabor Szabo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Announcements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/jjn1056/pagi-distribution-split-1kdo"&gt;PAGI Distribution split on CPAN&lt;/a&gt; &lt;a href="https://www.reddit.com/r/perl/comments/1ugpccr/pagi_distribution_split_on_cpan/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1pqo4zwj4xt34ca0oqks.png" alt="Reddit" width="32" height="32"&gt;&lt;/a&gt;by John Napiorkowski &lt;a href="https://www.linkedin.com/in/jnapiorkowski/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The news: PAGI is now three CPAN distributions instead of one. PAGI-Server — the reference server; PAGI-Tools — the application toolkit; PAGI — the specification;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/ron_savage/2026/06/announce-perlwiki-v-149-etc.html" rel="noopener noreferrer"&gt;ANNOUNCE: Perl.Wiki V 1.49, etc&lt;/a&gt;by Ron Savage
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/jjn1056/perl-pagi-middleware-o5b"&gt;Perl PAGI Middleware&lt;/a&gt;by John Napiorkowski &lt;a href="https://www.linkedin.com/in/jnapiorkowski/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A port of the sample app from What Is Middleware? - which builds the same three-layer stack in Plack/PSGI (Perl) and Starlette/ASGI (Python) - to PAGI, an async, ASGI-style application interface for Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tedium.co/2026/06/22/matts-script-archive-retrospective/" rel="noopener noreferrer"&gt;What Was Matt Thinking?&lt;/a&gt; &lt;a href="https://www.reddit.com/r/perl/comments/1udkbi8/matts_script_archive_the_scripts_that_reshaped/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1pqo4zwj4xt34ca0oqks.png" alt="Reddit" width="32" height="32"&gt;&lt;/a&gt;The high schooler who developed everyone’s forums and guestbooks in 1996 didn’t really think about security when he was building all that software. But Matt’s Script Archive was more than exploits.
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/lichtkind/2026/06/gtc-220-pro-designer.html" rel="noopener noreferrer"&gt;GTC 2.20 Pro designer&lt;/a&gt;by Herbert Breunung
&lt;/h3&gt;

&lt;p&gt;GTC 2.20 brings a huge amount of new features again (described in this post) and is starting an additional, more trimmed down, high level API, geared more toward what designers expect. But it also comes with new documentation and error handling, the two most important things that were missing for a professional distribution.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://perlhacks.com/2026/06/choosing-the-right-database-abstraction/" rel="noopener noreferrer"&gt;Choosing the Right Database Abstraction&lt;/a&gt; &lt;a href="https://www.reddit.com/r/perl/comments/1uhsrlk/choosing_the_right_database_abstraction_perl_hacks/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1pqo4zwj4xt34ca0oqks.png" alt="Reddit" width="32" height="32"&gt;&lt;/a&gt;by Dave Cross &lt;a href="https://www.linkedin.com/in/davorg/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Dave writes: 'A question came up recently in the Perl community asking whether, in a Mojolicious application, it’s better to use DBIx::Class or a Mojolicious-specific module like Mojo::Pg. It's an interesting question, but I think it's asking the wrong thing.'&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/pod/DBIx::QuickORM::Manual::QuickStart" rel="noopener noreferrer"&gt;DBIx::QuickORM - Alternative to DBIx::Class/DBIO &lt;/a&gt; &lt;a href="https://www.reddit.com/r/perl/comments/1ui2nm3/dbixquickorm_alternative_to_dbixclassdbio/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1pqo4zwj4xt34ca0oqks.png" alt="Reddit" width="32" height="32"&gt;&lt;/a&gt;by Chad Granum &lt;a href="https://www.linkedin.com/in/chad-granum-52b18317/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Chad writes: 'This weekend at the perl and raku conference I did a presentation on how to move forward from the current state of DBIx::Class and its lack of new development. We discussed several options including an alternative I have been writing. I have never liked DBIx::Class, so I tried to write something that felt more intuitive to how my brain works. It was suggested that I post it here.'&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/james/2026/06/introducing-constantstring-and-constantstringuc.html" rel="noopener noreferrer"&gt;Introducing constant::string and constant::string::uc&lt;/a&gt;by James Wright
&lt;/h3&gt;

&lt;p&gt;James writes: 'If you're like me, you use a constant a lot (I may overuse it). I often use it to turn typos in words and fields into compile-time errors, and for that I usually create constants that either are the named the same as the word, or the word uppercased.'&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rawley.xyz/posts/html-composer.html" rel="noopener noreferrer"&gt;Introducing HTML::Composer and general musings about Perl HTML templating&lt;/a&gt; &lt;a href="https://www.reddit.com/r/perl/comments/1ugfw0f/introducing_htmlcomposer_and_general_musings/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1pqo4zwj4xt34ca0oqks.png" alt="Reddit" width="32" height="32"&gt;&lt;/a&gt;by Rawley Fowler
&lt;/h3&gt;

&lt;p&gt;Rawley writes: 'Perl has some great templating libraries for HTML. Most of them are pretty fast, and do what you want.  However, they all share a common "problem", they make me write HTML. I'm a Perl developer, I like writing Perl, I want to write Perl, so when I have to switch contexts to HTML it annoys me.' HTML::Composer is the answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/pod/DBIO" rel="noopener noreferrer"&gt;DBIO - A DBIx::Class replacement&lt;/a&gt; &lt;a href="https://www.reddit.com/r/perl/comments/1ug47vv/dbio_a_dbixclass_replacement/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1pqo4zwj4xt34ca0oqks.png" alt="Reddit" width="32" height="32"&gt;&lt;/a&gt;by brian d foy
&lt;/h3&gt;

&lt;p&gt;DBIO - Native relational mapping for Perl, built on DBI&lt;/p&gt;




&lt;h2&gt;
  
  
  Videos
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://youtu.be/D1KMW8q7d18" rel="noopener noreferrer"&gt;Perl development using Ollama and local models Claude and VS Code&lt;/a&gt;by Dmytro Lyakh
&lt;/h3&gt;

&lt;p&gt;The recordings from the recent &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;online Perl Maven session&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://youtu.be/6wYiX2lFbo8" rel="noopener noreferrer"&gt;Improving ptkdb, the graphical debugger of Perl using ChatGPT&lt;/a&gt;by Matthew Persico
&lt;/h3&gt;

&lt;p&gt;The recordings from the recent &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;online Perl Maven session&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Perl
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/06/this-week-in-psc-230-2026-06-22.html" rel="noopener noreferrer"&gt;This week in PSC (230) | 2026-06-22&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-380" rel="noopener noreferrer"&gt;The Weekly Challenge - 380&lt;/a&gt;by Mohammad Sajid Anwar &lt;a href="https://www.linkedin.com/in/mohammadanwar/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Sum of Frequencies" and "Reverse Degree". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-379" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 379&lt;/a&gt;by Mohammad Sajid Anwar &lt;a href="https://www.linkedin.com/in/mohammadanwar/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Reverse String" and "Armstrong Number" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://deadmarshal.blogspot.com/2026/06/twc379.html" rel="noopener noreferrer"&gt;TWC379&lt;/a&gt;by Ali Moradi
&lt;/h3&gt;

&lt;p&gt;The Blog Post by Ali provides a highly efficient and minimalist way of coding in Perl by offering solutions to the problem set of The Weekly Challenge #379. Ali uses a brilliant chop loop to reverse a string and a concisely written higher-order grep block to determine Armstrong numbers in the given base. This shows that Perl can be written very compactly but also in an extremely expressive manner.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/armstring-or-strong.html" rel="noopener noreferrer"&gt;Armstring or Strong&lt;/a&gt;by Arne Sommer &lt;a href="https://www.linkedin.com/in/arnesommer/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Arne has given us a great example of Raku's toolkit through the Weekly Challenge 379. He uses many of the Raku methods (comb, pop, base, etc.) to write very concise and effective code for both reversing a string and finding base-specific Armstrong numbers. If you want your Raku skillset to grow in terms of both abilities and syntax style, you should definitely read this.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/06/perl_weekly_challenge_week_379.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 379&lt;/a&gt;by Jaldhar H. Vyas
&lt;/h3&gt;

&lt;p&gt;This post does an excellent job of illustrating how the relationship between Perl and Raku has changed over time, and uses that to illustrate how these two languages handle identical logic with different syntaxes. It uses examples of how Perl uses the classic, reliable Perl syntax and how Raku provides its own modern, built-in methods of extracting a digit from a number with the modern feature of converting between bases instead.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/06/28/ch-379.html" rel="noopener noreferrer"&gt;There Is More Than One Way To Power&lt;/a&gt;by Jorg Sommrey
&lt;/h3&gt;

&lt;p&gt;This article contains a clear, consistent format outlining all parts of the challenge as well showing ingenuity in using both the Perl and J languages. The examples of different ways to reverse a string with both in-place reversal and use of PDL slicing techniques, along with the compact implementation of variable-base Armstrong numbers using a functional programming paradigm, highlight the insights and education obtained by polyglot developers from this article.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://kolouch.net/perlweeklychallenge/blog-379.html" rel="noopener noreferrer"&gt;The Weekly Challenge 379&lt;/a&gt;by Lubos Kolouch
&lt;/h3&gt;

&lt;p&gt;Lubos writing style contains excellent quality, idiomatic code and brief, easily-understood explanations of the different ways to break down difficult logical or enough to solve complicated mathematical problems, so they are accessible to all (even to those with no programming experience).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/06/22/PWC379/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 379&lt;/a&gt;by W Luis Mochan &lt;a href="https://www.linkedin.com/in/luis-mochan-a9563b10/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;W. Luis Mochan has demonstrated his expertise by providing concise code that uses very little coding space. He created very efficient single and double lines of code (Perl) for each of the weekly challenge entry solutions. The way he approached Armstrong Numbers with a dynamic array that uses rolling bases, rather than normal division to calculate base conversion points, is astoundingly creative, instructional and well documented.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/manwar/perlweeklychallenge-club/tree/master/challenge-379/matthias-muth#readme" rel="noopener noreferrer"&gt;Just Do It Yourself!&lt;/a&gt;by Matthias Muth &lt;a href="https://www.linkedin.com/in/matthias-muth-2398947/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The professional quality of Matthias's solution to the Perl Weekly Challenge is evidenced by the exceptional level of detail. Clearly, the README describes both the underlying logic as well as the algorithms used. The actual code is very idiomatic, clean and well-structured. This represents an excellent example of good software engineering practices and is a great resource for the community to learn from.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/sE" rel="noopener noreferrer"&gt;I see strings reversed… sum numbers, too…&lt;/a&gt;by Packy Anderson &lt;a href="https://www.linkedin.com/in/packy-anderson/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Packy provides some ways to think about how to tackle the Perl Weekly Challenge. His approach is well-organised and very interesting. What stands out most is how much time he spends comparing Perl, Raku, Python and Elixir implementations to help the reader understand their differences. The way he explains each solution with examples is very effective, and it provides an excellent way for programmers looking to improve their skills with strings and scripts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/379" rel="noopener noreferrer"&gt;Reversing and curious numbers&lt;/a&gt;by Peter Campbell Smith
&lt;/h3&gt;

&lt;p&gt;Peter puts a high value on creating code that uses clear, easy-to-read, well-maintained, and easy-to-write code rather than using complicated, convoluted, and multifaceted configurations. This makes the blog post very accessible to all levels of developers. It contains additional detail, educational material, and information in the public domain that should be of use to the developer community. There are also multiple edge cases addressed in this blog, and a comprehensive analysis of the data will make it very easy for the reader to follow through the examples provided.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/06/The_Weekly_Challenge_379__Reverse_Armstrong.html" rel="noopener noreferrer"&gt;Reverse Armstrong&lt;/a&gt;by Roger Bell West
&lt;/h3&gt;

&lt;p&gt;This blog covers Perl Weekly Challenge 379's solutions for string manipulation and narcissistic numbers in several different languages. Here, Roger, compares implementations of the same problem in Perl, Lua, PostScript, and Rust, illustrating how they each offer different approaches to performance optimisation and memory allocation. Overall, this approach allows him to provide great practical insight to readers on how the languages differ in these two areas.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-work-it-1j3a"&gt;Work it&lt;/a&gt;by Simon Green &lt;a href="https://www.linkedin.com/in/swg-au/" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffjmm1b6nki5nhtvra81s.png" alt="LinkedIn" width="32" height="32"&gt;&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post presents an extremely entertaining and informative dual-language analysis of Weekly Challenge #379, as well as an entertainingly framed musical presentation. In addition, the juxtaposition of the neatness of the Python loop construct with the traditional method of manipulating strings in Perl helps provide clear, easy-to-follow solutions to challenging technical questions, particularly when dealing with the conversion of multiple digit bases for Armstrong Numbers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;by Miguel Prz
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/06/dcvi-20-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl development using AI (online)&lt;/a&gt;July 8, 2026
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://paris.mongueurs.net/" rel="noopener noreferrer"&gt;Paris.pm monthly meeting&lt;/a&gt;July 8, 2026
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.meetup.com/hacklafayette/" rel="noopener noreferrer"&gt;Purdue Perl Mongers (HackLafayette) - TBA&lt;/a&gt;July 8, 2026
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;July 14, 2026
&lt;/h3&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #777 - Check your CPAN profile!</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 15 Jun 2026 06:26:09 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-777-check-your-cpan-profile-2l8d</link>
      <guid>https://dev.to/szabgab/perl-weekly-777-check-your-cpan-profile-2l8d</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/777.html" rel="noopener noreferrer"&gt;Perl Weekly 777&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there!&lt;/p&gt;

&lt;p&gt;In the recent weeks I looked at a lot of MetaCPAN profiles (aka. author pages) such as that of &lt;a href="https://metacpan.org/author/MANWAR" rel="noopener noreferrer"&gt;MANWAR&lt;/a&gt;. If I could also find their LinkedIn profile I invited them to &lt;a href="https://www.linkedin.com/in/szabgab/" rel="noopener noreferrer"&gt;connect via LinkedIn&lt;/a&gt;. (If I have not sent you an invitation yet, then I guess I missed your profile. I'd be glad to get a connect request via LinkedIn.)&lt;/p&gt;

&lt;p&gt;I noticed that a large percentage of the people still have their &lt;b&gt;@cpan.org&lt;/b&gt; email address listed. Despite the fact that &lt;a href="https://log.perl.org/2026/04/cpanorg-email-forwarding-has-been-shut.html" rel="noopener noreferrer"&gt;cpan.org email forwarding has been shut down&lt;/a&gt; 6 weeks ago. That means people will get annoyed if hey try to contact you using that address.&lt;/p&gt;

&lt;p&gt;You could replace that address or hide it and offer other ways for people to contact you. Either of them is better than having a bad address.&lt;/p&gt;

&lt;p&gt;In addition, I noticed that some of the links people have there are not working. (e.g. incorrect link to their LinkedIn profile, or to their home page etc.)&lt;/p&gt;

&lt;p&gt;In order to fix these you probably first need to check and update your &lt;a href="https://pause.perl.org/" rel="noopener noreferrer"&gt;PAUSE account&lt;/a&gt;. After logging in look for the &lt;b&gt;Edit Account Info&lt;/b&gt; menu option. There you can list your email address and you can even decide if you'd like to have a visible address or not.&lt;/p&gt;

&lt;p&gt;Then you could take a look at your MetaCPAN profile. For this visit &lt;a href="https://metacpan.org/" rel="noopener noreferrer"&gt;MetaCPAN&lt;/a&gt;. Login in the top-right corner. If you don't remember whether you used GitHub or Google, don't worry. Inside you can connect them in the &lt;b&gt;Identities&lt;/b&gt; menu point. Then go to the &lt;b&gt;Profile&lt;/b&gt; menu point and update the fields there.&lt;/p&gt;

&lt;p&gt;Finally, if you have updated your profile after reading this, I'd be glad if you sent me an email so I'll know this messaged had some positive impact.&lt;/p&gt;

&lt;p&gt;Oh, and if you don't have a CPAN account and you have not uploaded anything yet, then what are you waiting for?&lt;/p&gt;

&lt;p&gt;Enjoy your week!&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Gabor Szabo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/chansen/2026/06/timestr---time-zones-and-leap-seconds.html" rel="noopener noreferrer"&gt;Time::Str - Time Zones and Leap Seconds&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Time::Str parses and formats date/time strings across 20+ standard formats, with an optional C/XS backend and nanosecond precision. The previous post, Introducing Time::Str, covered parsing and formatting. This one covers two additions, time zones and leap seconds, and ends with a note on the new C parsers. (&lt;a href="https://www.reddit.com/r/perl/comments/1u4qkgr/timestr_time_zones_and_leap_seconds/" rel="noopener noreferrer"&gt;Reddit&lt;/a&gt;)&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1u2gx9g/confused_about_a_few_parts_of_the_new_core_oop/" rel="noopener noreferrer"&gt;Confused about a few parts of the new Core OOP &lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1u1fq2v/memory_sharing_between_scripts/" rel="noopener noreferrer"&gt;Memory sharing between scripts&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1u0l438/first_record_in_implicit_n_loop_behaves/" rel="noopener noreferrer"&gt;First record in implicit -n loop behaves differently than the rest. Hoping to find an explanation. &lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Grants
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/pevans_core_dev_may_2026" rel="noopener noreferrer"&gt;PEVANS Core Perl 5: Grant Report for May 2026&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Perl
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/06/this-week-in-psc-228-2026-06-08.html" rel="noopener noreferrer"&gt;This week in PSC (228) | 2026-06-08&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-378" rel="noopener noreferrer"&gt;The Weekly Challenge - 378&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Second Largest Digit" and "Sum of Words". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-377" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 377&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Reverse Existence" and "Prefix Suffix" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/prefixed-existence.html" rel="noopener noreferrer"&gt;Prefixed Existence&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This article offers a great introduction to the Raku language through its implementation of the The Weekly Challenge #377, specifically the use of native Raku functions, such as .flip and .combinations. The code is well-written, typical of Raku, and fully supported with an extensive breakdown of each line of code, detailed run-time logs, and references to helpful documentation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/06/perl_weekly_challenge_week_377.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 377&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The article compares Perl and Raku solutions for Week 376 of the Challenge and illustrates how the two languages are different in terms of their evolution. Specifically, it illustrates how Raku provides a more modern set of high-level features (e.g., built-in support for substrings and pairs) compared to the equivalent structural features in Perl, which require additional code to implement.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/06/12/ch-377.html" rel="noopener noreferrer"&gt;From Start to End and Back&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Jorg takes a multi-paradigm approach to solving The Weekly Challenge #377 in both Perl and J (the array-processing language). This article showcases Jorg's technical knowledge because he generalises the first task from its minimum definition and well-organises the second task's input by length to optimise the process. Additionally, Jorg's complete walkthrough of the functional, tacit programming techniques found in language J is well presented, allowing for the easy comprehension of complex manipulations of Arrays and RegEx optimisations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/06/08/PWC377/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 377&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;W. Luis Mochan employs the expressive capabilities of the Perl language in order to create solutions that exhibit exceptional brevity with no extra syntax or words. This will definitely capture the interest of developers looking for clean and functional solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/rU" rel="noopener noreferrer"&gt;They run and hide their heads / They might as well be dead…&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post provides a great, multi-lingual breakdown of the challenge with clean idiomatic solutions in Perl, Raku, Python and Elixir. By demonstrating how each of the programming paradigms handle the same logic, Packy provides educational value beyond measure while maintaining interest with a clever Beatles-style music theme.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/377" rel="noopener noreferrer"&gt;Strings within strings&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Peter offers a refreshingly simple and useful way to accomplish this task using only Perl. He places an emphasis on keeping the code readable, ensuring UTF-8 characters can safely contain more than one byte, and maintaining a high level of performance in real-world applications. There is no ambiguity or sacrifice made in developing an easy-to-interpret solution to a hard problem and accommodating corner cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc377-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 377: Reverse Existence&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this article, Reinier discusses how to efficiently leverage Perl's string manipulation and logical checks to confirm if input strings share overlapping character sequences with the least amount of code. This article is an excellent resource for learning to write perl code that efficiently performs substring matching in a clear, idiomatic manner with minimal additional complexity.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc377-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 377: Prefix Suffix&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Reinier made use of Perl's built-in string matching capabilities to efficiently find all pairs where one of the strings serves as both the beginning and end of one of the other strings. This showcases a great example of writing efficient, clear code to solve a complex logic problem of substring containment in as little code as possible.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/06/The_Weekly_Challenge_377__A_Suffix_to_Existence.html" rel="noopener noreferrer"&gt;A Suffix to Existence&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Roger's article provides an excellent comparison between different programming languages by demonstrating how language paradigms solve the same algorithms for sliding windows and substring matches, thereby providing significant educational value to the reader by making comparisons between high-level built-in functions with manual implementations for the same problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-existence-4531"&gt;Existence&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, Simon analysed the issue into smaller pieces/steps made it easier for implementation to remain very readable and maintainable. A strong resource for developers wishing to observe how simple, idiomatic methods can more elegantly achieve string manipulating constraints.&lt;/p&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/06/dciv-17-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl development using AI (online)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 17, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://berlin.pm.org/" rel="noopener noreferrer"&gt;Berlin.pm - Naumanns Biergarten&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 24, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto.pm - June Social Evening&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 25, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://paris.mongueurs.net/" rel="noopener noreferrer"&gt;Paris.pm monthly meeting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;July 8, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.meetup.com/hacklafayette/" rel="noopener noreferrer"&gt;Purdue Perl Mongers (HackLafayette) - TBA&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;July 08, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;July 14, 2026&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #776 - Learning Perl</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 08 Jun 2026 06:13:39 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-776-learning-perl-717</link>
      <guid>https://dev.to/szabgab/perl-weekly-776-learning-perl-717</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/776.html" rel="noopener noreferrer"&gt;Perl Weekly 776&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;Recently, I came across an article, &lt;a href="https://medium.com/@realmerlyn/the-day-i-decided-never-to-learn-python-2c59d1a1edc5" rel="noopener noreferrer"&gt;The Day I Decided Never to Learn Python&lt;/a&gt; by &lt;strong&gt;Randal L. Schwartz&lt;/strong&gt;. Well, &lt;strong&gt;Randal&lt;/strong&gt; doesn't need an introduction. He took us back to &lt;strong&gt;2001&lt;/strong&gt;, the same era when I first started learning &lt;strong&gt;Perl&lt;/strong&gt; in 1999. He was a major guiding force during my early programming days.&lt;/p&gt;

&lt;p&gt;Last week, I joined a live session by &lt;strong&gt;Gabor&lt;/strong&gt; focussed on &lt;strong&gt;FalkorDB&lt;/strong&gt;. It was fun watching him code and talk while I sat back as a silent spectator. You can learn a lot just by watching how he approaches coding. It reminded me of many years ago when I did pair programming with him and submitted a pull request to the &lt;strong&gt;Dancer2&lt;/strong&gt; project. Those were the golden days, when I had so much energy and time. That being said, I am still actively learning &lt;strong&gt;Perl&lt;/strong&gt; and discovering how to do new things with it. These concepts may not be new to everyone, but they are new to me. For example, I recently played with &lt;strong&gt;GraphQL&lt;/strong&gt; for the first time, and I've also been experimenting with &lt;strong&gt;RAG&lt;/strong&gt; and &lt;strong&gt;JSON-RPC&lt;/strong&gt;. I have shared my recent experiments down below.&lt;/p&gt;

&lt;p&gt;The process of learning never stops. A few days ago, I noticed an update for &lt;strong&gt;HTTP::Message v7.02&lt;/strong&gt;. Since it was released by &lt;strong&gt;Olaf Alders&lt;/strong&gt;, I was curious to see what had changed. It turned to be something, I hadn't realised for all these years. While I am well-acquainted with HTTP methods like GET, POST, and PUT, I didn't know "0" could actually be a valid HTTP method name if you wanted it to be. This release added support for exactly that, thanks to contributor, &lt;strong&gt;Karen Etheridge&lt;/strong&gt;. Amidst all of this, I am still trying to find time for my upcoming book on &lt;strong&gt;DBIx::Class&lt;/strong&gt;. I recently shared a blog post demonstrating the power of DBIC components, and I am trying my best not to lose focus.&lt;/p&gt;

&lt;p&gt;You might find that this edition is full of my own personal posts, as there was unfortunately very little community news to report this week. Regardless, I hope you enjoy the rest of the newsletter.&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Mohammad Sajid Anwar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Announcements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/06/this-week-in-psc-227-2026-06-01.html" rel="noopener noreferrer"&gt;This week in PSC (227) | 2026-06-01&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This week we were back to full strength. We have now dealt with all of the belated issues and all of the blockers. Paul will be shipping 5.43.11 very shortly. With the amount of changes we have had to merge, we will not be able to rush the .11 cycle, but we intend to start the work on the 5.44 RC early, to ensure that we can release with as little additional delay as possible.&lt;/p&gt;




&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/resultclass-components/" rel="noopener noreferrer"&gt;Result Class - Components&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Continue with the series post on DBIx::Class, in this post I am showing the power of DBIC components dealing with date/timestamp column.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/rag-with-perl/" rel="noopener noreferrer"&gt;RAG with Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, I try to decode what RAG is and how we can implement RAG engine in Perl talking to LLM and Vector database in a docker container.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/cpan-deb-package/" rel="noopener noreferrer"&gt;CPAN Debian Package&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;First time managed to build a debian package for DBIx::Class::Async with step by step instructions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/jsonrpc-with-perl/" rel="noopener noreferrer"&gt;JSON-RPC with Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;After dealing with gRPC, next in line was JSON-RPC. The motivation was to explore MCP after getting to know JSON-RPC. It turned out to be too easy demonstrate.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/mojo-meets-graphql/" rel="noopener noreferrer"&gt;Mojo meets GraphQL&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post is meant for beginners as I am exploring GraphQL for the first time as well. The best part is the use of GraphiQL for building and testing the API.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/dbic-graphql/" rel="noopener noreferrer"&gt;DBIx::Class and GraphQL&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, I shared how to integrate DBIx::Class with GraphQL. Having played with GraphQL, I can say it is not for weak heart. If you are coming from REST API background then it will take some time to get your head around it. I am telling this from my personal exprience.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/cpan-graphql/" rel="noopener noreferrer"&gt;CPAN and GraphQL&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;After DBIx::Class integration with GraphQL, my immediate task was to make the process easy as it doesn't have to this complicated. In the process, I released brand new CPAN distribution: DBIx::Class::Schema::GraphQL.&lt;/p&gt;




&lt;h2&gt;
  
  
  CPAN
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/dist/FalkorDB" rel="noopener noreferrer"&gt;FalkorDB&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Perl client module for FalkorDB. This code was mostly generated using AI tools and has not been checked manually yet.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/pod/DBIx::Class::Schema::GraphQL" rel="noopener noreferrer"&gt;DBIx::Class::Schema::GraphQL&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;It was created while working on the DBIx::Class integration with GraphQL. Using this module, it is so easy to build GraphQL API.&lt;/p&gt;




&lt;h2&gt;
  
  
  Grants
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/maintaining_perl_tonyc_may_2026" rel="noopener noreferrer"&gt;Maintaining Perl (Tony Cook) May 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/maintaining_perl_dave_mitchell_may_2026" rel="noopener noreferrer"&gt;Maintaining Perl 5 Core (Dave Mitchell): May 2026&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-377" rel="noopener noreferrer"&gt;The Weekly Challenge - 377&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Reverse Existence" and "Prefix Suffix". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-376" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 376&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Chessboard Squares" and "Doubled Words" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/doubled-chessboard.html" rel="noopener noreferrer"&gt;Doubled Chessboard&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post offers an orderly, aesthetically pleasing way of solving the Weekly Challenge problems using the modern-day features of Raku syntax. With the use of well-defined subset custom types to strongly validate input and a simple, tokenising object-oriented class structure for text processing, Arne creates a solution that is easy to read and maintain and takes care of the complex edge cases such as applying a look behind that crosses over multiple lines.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-376-doubled-words-7g3"&gt;Doubled Words&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Bob presents a creative solution to a challenging text processing issue by using a well known yet little used built-in feature of the Perl. The result is an elegant mechanism for bypassing tokens through a clearly documented and separated mechanism of backtracking while retaining context about the structure through the use of captured groups in the split regex.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/06/05/ch-376.html" rel="noopener noreferrer"&gt;Chess Solo&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Jorg provides a very concise and mathematically elegant solution for the colorisation of a chessboard. By recognising that under mod 2 operations the coordinate bases are completely annihilated, implementations can be created in both Perl and J using only one line of code and they are both efficient and structurally minimalist.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://kolouch.net/perlweeklychallenge/blog-376.html" rel="noopener noreferrer"&gt;The Weekly Challenge 376&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An unusually clear yet detailed solution is provided in this blog post, as it combines clean, idiomatic code examples with short technical explanations about how to use regex to parse doubled words and how to compare two mathematical coordinates. Complex logic is presented so anyone can read easily and learn from.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/06/01/PWC376/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 376&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The excellent demonstration of the capabilities of Perl as a function-based programming language is shown through this post with extremely short and idiomatic solutions. Luis Mochán has used expressive, single-line statements to convert complicated constraints into small, clean, logical data flows in an extraordinary manner with Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-376/challenge-376/matthias-muth#readme" rel="noopener noreferrer"&gt;A 1-Bit Chessboard and Fancy Separators&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Matthias presents an analytical and well-defined solution to the difficulties presented by Challenge 376 through the use of well-separated parsing and formatting, clear comments on the use of regular expressions, and the submission of a clear and clean solution suitable for production.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/r4" rel="noopener noreferrer"&gt;You might think I’m crazy, but I don’t even care&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A well-structured and very interesting review of Perl Weekly Challenge 376 is presented with a reference to principles from a popular culture item. Packy clearly illustrates the elegant way to process text in the real world while exhibiting outstanding technical expertise by explaining the complexity of lookahead logic and the constraints of the boundary in a way that allows for simple, idiomatic, and highly maintainable solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/376" rel="noopener noreferrer"&gt;Squares and pairs&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This solution offers a very neat, simple, and mathematically pleasing method for solving the chessboard parity problem. Peter has effectively utilised the ASCII values (ord) of the column letters as well as the numeric row values to reduce a spatial coordinate problem to a quick and efficient calculation of a bitwise parity (&amp;amp; 1). The source code is formatted well, clearly commented, and takes advantage of the mathematics behind the solution so as to avoid unnecessary conditional barriers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc376-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 376: Chessboard Squares&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post gives a very clear, well-organized, and visually intuitive representation of how to solve the programming challenge "Chessboard Squares". Explicitly laying out the grid coordinates with their appropriate color will provide an excellent foundation for developing an accurate and efficient lookup algorithm.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/06/robbie-hatleys-solutions-in-perl-for.html" rel="noopener noreferrer"&gt;The Weekly Challenge #376&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;By using an elegant mathematical approach to the parity of squares on a chessboard, along with an incredibly efficient, single-pass regular expression, this code shows immense technical skill. The code also uses multi-line lookaheads, HTML tags, and back references, all handled by a simple subroutine (double_double_toil_and_trouble), that is suitable for use at production level.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/06/The_Weekly_Challenge_376__Half_a_Chessboard.html" rel="noopener noreferrer"&gt;Half a Chessboard&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A general description of a previously completed task, this post shows a real-life application of code reuse. Roger created a nice, modular solution to decode coordinate mathematics (on the basis of (x+y) mod 2) by cleanly wrapping the existing helper function from the previous task. Therefore, through this implementation, he provides a concise representation of the solution and eliminates any duplicate logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-double-chessboard-5ce5"&gt;Double chessboard&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this blog post, Simon's clever use of the bitwise XOR operator (^) as a parity check for a chess board is very creative. Additionally, he shows a well-organised and simple method of utilising re.split and list comprehensions to find the position of words while also overcoming some challenging lookahead and HTML boundary situations.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rakudo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/06/01/2026-22-some-ast-fruit/" rel="noopener noreferrer"&gt;2026.22 Some AST Fruit&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/06/dciii-22-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The corner of Gabor
&lt;/h2&gt;

&lt;p&gt;A couple of entries sneaked in by Gabor.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://academy.code-maven.com/l/os-perl-2026-06-03-part-1" rel="noopener noreferrer"&gt;FalkorDB client in Perl using CLI AI Agents&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is the first hour of the live coding session using AI to write Perl we had last week. (Free, registration required)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://academy.code-maven.com/l/os-perl-2026-06-03-part-2" rel="noopener noreferrer"&gt;FalkorDB using Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is the second hour of the live coding session using AI to write Perl we had last week. (Free, registration required)&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Next: Perl development using AI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The next session in which each participant will have the opportunity to show how s/he is using AI to write Perl code. I am sure we will learn a lot from each other!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=xvxZAGIPGhg" rel="noopener noreferrer"&gt;Growing Pains: Scaling AI Coding across Team and Repo Boundaries with Graham Knapp&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Video recordings from the session yesterday. It is not Perl specific, but helps you understand things. For more such event, sign up to the &lt;a href="https://www.meetup.com/code-mavens/" rel="noopener noreferrer"&gt;Code Mavens&lt;/a&gt; Meetup group&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 9, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://paris.mongueurs.net/" rel="noopener noreferrer"&gt;Paris.pm monthly meeting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 10, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.meetup.com/hacklafayette/" rel="noopener noreferrer"&gt;Purdue Perl Mongers (HackLafayette) - TBA&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 11, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl development using AI (online)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 17, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://berlin.pm.org/" rel="noopener noreferrer"&gt;Berlin.pm - Naumanns Biergarten&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 24, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto.pm - June Social Evening&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 25, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #775 - Events and using AI to write Perl</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 01 Jun 2026 06:43:21 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-775-events-and-using-ai-to-write-perl-59pm</link>
      <guid>https://dev.to/szabgab/perl-weekly-775-events-and-using-ai-to-write-perl-59pm</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/775.html" rel="noopener noreferrer"&gt;Perl Weekly 775&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there!&lt;/p&gt;

&lt;p&gt;I try to keep track of the Perl-related events. You can find them listed at the bottom of each edition of the newsletter and on the &lt;a href="https://perlweekly.com/events" rel="noopener noreferrer"&gt;events page&lt;/a&gt; on the Perl Weekly web site. There you can also find a link to embed the calendar in your calendar program. There are a number of events scheduled for this month. Most of them online, so if your time-zone permits, you can join those events. The big in-person event is at the end of the month &lt;a href="https://news.perlfoundation.org/post/tprc-schedule-and-lightning-talks" rel="noopener noreferrer"&gt;The Perl and Raku Conference&lt;/a&gt; in Greenville, South Carolina, USA.&lt;/p&gt;

&lt;p&gt;In the last couple of weeks I have been using various AI tools extensively. It still needs some hand-holding, but it already writes code that seems to be way better than the average code I've seen. So I wonder, would it be possible to ask one of the AI tools to convert Python libraries to Perl? You know, we have been complaining for many years that companies provide implementation for their SDK/API/client in several language, but not in Perl. We also saw that CPAN could not keep up with the growth of PyPI, npm and the other 3rd party library registries. So maybe some of you would like to explore the idea of converting some of these libraries to Perl using AI.&lt;/p&gt;

&lt;p&gt;Finally a personal note, I am planning a trip to Korea and Japan in September-October. If you live there and would have any travel recommendations, I'd love to get that.&lt;/p&gt;

&lt;p&gt;Enjoy your week!&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Gabor Szabo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/toby_inkster/2026/05/introducing-zuzuscript.html" rel="noopener noreferrer"&gt;Introducing ZuzuScript&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Toby Inkster created a programming language which blends a fairly JavaScript-like syntax with fairly Perl-like semantics, and a few other features that he hasn't really seen in many programming languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/ron_savage/2026/05/announce-perlwiki-v-147-jstree-copy-v-121.html" rel="noopener noreferrer"&gt;ANNOUNCE: Perl.Wiki V 1.47, JSTree copy V 1.21&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://perlhacks.com/2026/05/teaching-ai-about-the-british-monarchy-with-mcp/" rel="noopener noreferrer"&gt;Teaching AI About the British Monarchy with MCP&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The site already exposes information through a traditional web interface and a JSON API. But those interfaces were designed for humans and developers respectively. MCP gives AI systems a much cleaner integration point.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/ron_savage/2026/05/announce-perlwiki-v-146-other-news.html" rel="noopener noreferrer"&gt;ANNOUNCE: Perl.Wiki V 1.46 &amp;amp; other news&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/tprc-schedule-and-lightning-talks" rel="noopener noreferrer"&gt;TPRC Schedule Posted - Time to Submit Lightning Talks&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1tolezs/distzillapluginbundlestarter_use_readmebrief/" rel="noopener noreferrer"&gt;Dist::Zilla::PluginBundle::Starter: Use Readme::Brief instead of Pod2Readme? &lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1tnv9zj/perl_eval_question/" rel="noopener noreferrer"&gt;Perl eval question&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Oh, the evil eval.&lt;/p&gt;




&lt;h2&gt;
  
  
  Perl
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/05/this-week-in-psc-226-2026-05-25.html" rel="noopener noreferrer"&gt;This week in PSC (226) | 2026-05-25&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-376" rel="noopener noreferrer"&gt;The Weekly Challenge - 376&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Chessboard Squares" and "Doubled Words". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-375" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 375&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Single Common Word" and "Find K-Beauty" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/common-beauty.html" rel="noopener noreferrer"&gt;Common Beauty&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is an excellent example of how to use Raku's idiomatic style to perform frequency analysis with a very elegant way of using Bag data type and to make use of the %% operator for nice clean checks of divisibility by using Raku's built in primitives instead of having to write complex manual logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/05/perl_weekly_challenge_week_375.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 375&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;It provides an excellent, straightforward exhibition on how to solve the problems associated with Weekly Challenge 375 in Raku and Perl. In addition to showing off some of the more sophisticated, expressive data types that Raku supports (i.e., Bag) Jaldhar shows how they were able to implement clever, easy-to-read workarounds in Perl to accomplish essentially the same thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/05/29/ch-375.html" rel="noopener noreferrer"&gt;Common Beauty&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This blog post does a great job of examining and comparing the practical solutions using Perl and an advanced version of programming with the J language. The way Jorg has generalised the different types of problems he presented creates a sophisticated solution for someone that will accept any number of bases and/or arrays as inputs, and produces results that would be considered to be of a high standard.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/05/26/PWC375/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 375&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post shows a clear-cut way to address a problem and demonstrate a solid grasp of Perl's function-based capabilities. It uses expressive one-line Perl statements to demonstrate how small, readable, and consistent code can be written to transform data.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-375/challenge-375/matthias-muth#readme" rel="noopener noreferrer"&gt;A Single Beauty&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is an exemplary work featuring high-quality code that has a high degree of maintainability, uses excellent error check techniques and provides high levels of readability. In addition to using excellent reading technique, his solutions include well-documented logic and complete test suites.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/qf" rel="noopener noreferrer"&gt;You’ve got to get up every morning…&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Packy has created an outstanding multi-language deep dive post comparing different implementations of Raku, Perl, Python, and Elixir. In addition to providing many details about each language's implementation, his approach is to focus on making it easy to read and easy to follow the logic behind each one in spite of their technical complexities. He shows us how we can take the same data structure using different paradigms to create different implementation solutions for the same problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/375" rel="noopener noreferrer"&gt;Single and beautiful&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This solution exemplifies how effective algorithms can be designed, using math formulas as a way of running multiple sets of frequencies over a single array. It’s an example of a very concise method of solving complex state-tracking issues, using the least amount of code as possible while maintaining a high degree of readability.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc375-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 375: Single Common Word&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A clear and systematically organised method for resolving this issue is provided within this post, as well as a very easy to read content style, making it simple to see the reasoning behind the solution. Among other things, this post displays a good presentation of example test cases and has a good way of providing technical explanations to both new to experienced software programmers alike.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc375-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 375: Find K-Beauty&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This blog post exemplifies well-designed code that solves the "Find K-Beauty" problem in a strong manner. Reinier does an excellent job of providing clear, modular logic and using the least amount of code to implement those solutions. This allows the reader to see how the sliding window method works to find divisors in the number's format.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/05/robbie-hatleys-solutions-in-perl-for_01906093295.html" rel="noopener noreferrer"&gt;The Weekly Challenge #375&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post presents an incredibly complete and conversational analysis of the obstacles, illustrated with sophisticated technical knowledge through a thoroughly well-organised, educational format. Robbie's skill at blending solid, production-level Perl code with detailed explanation of the rationale behind it provides readers with an excellent foundation for either becoming familiarized with this form of problem solving or gaining greater depth of understanding regarding the "how" and "why" of idiomatic Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/05/The_Weekly_Challenge_375__Uncommon_Beauty.html" rel="noopener noreferrer"&gt;Uncommon Beauty&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Roger produced a very thorough, well-organised explanation of the problem, using techniques such as hash frequencies and sliding windows to create solutions that are both clean and accurate. By comparing the two different languages Perl and Scala, Roger shows that they clearly understand how to approach solving problems using multiple programming languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/the-weekly-challenge-the-common-beauty-5eh3"&gt;The Common Beauty&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is an excellent example of a bilingual coding approach. It contrasts high-level data structures in Python with Perl's more flexible but lower-level data manipulation. Simon offers a clear explanation of the two different languages used to explain how one would move algorithmic logic from one programming paradigm to another by providing step-by-step instructions and side-by-side examples.&lt;/p&gt;




&lt;h2&gt;
  
  
  Videos
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=g_f1LVmNNuY" rel="noopener noreferrer"&gt;JSON Schema at the Toronto Perl Mongers&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/05/dcii-13-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Exploring Perl Modules + using AI (online)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 3, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 9, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://paris.mongueurs.net/" rel="noopener noreferrer"&gt;Paris.pm monthly meeting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 10, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.meetup.com/hacklafayette/" rel="noopener noreferrer"&gt;Purdue Perl Mongers (HackLafayette) - TBA&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 11, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://berlin.pm.org/" rel="noopener noreferrer"&gt;Berlin.pm - Naumanns Biergarten&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 24, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto.pm - June Social Evening&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 25, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #774 - Perl is too HOT</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 25 May 2026 08:22:36 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-774-perl-is-too-hot-58jc</link>
      <guid>https://dev.to/szabgab/perl-weekly-774-perl-is-too-hot-58jc</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/774.html" rel="noopener noreferrer"&gt;Perl Weekly 774&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;I know you all are patiently waiting for the release of &lt;strong&gt;Perl v5.44&lt;/strong&gt;. Recently I joined the &lt;a href="https://www.nntp.perl.org/group/perl.perl5.porters/" rel="noopener noreferrer"&gt;mailing list&lt;/a&gt; of &lt;strong&gt;perl5-porters&lt;/strong&gt;. You get all the latest update straight in your inbox. This is where I found out, the &lt;strong&gt;v5.44&lt;/strong&gt; would be out end of next month if everything goes as per the plan. I get excited during this time of the year to see what is new added to the core &lt;strong&gt;class&lt;/strong&gt; feature. I am still waiting for the support of creating roles. I am also aware there are other high priority features in the list. No pressure to &lt;strong&gt;Paul Evans&lt;/strong&gt; and his team, we are happy to see the progress in the language under your guidance.&lt;/p&gt;

&lt;p&gt;Well you don't have to wait for the big release to get your hand dirty. For me, I am busy exploring things like &lt;a href="https://theweeklychallenge.org/blog/big-o-notation" rel="noopener noreferrer"&gt;Big O Notation&lt;/a&gt;, &lt;a href="https://theweeklychallenge.org/blog/jwt-with-dancer2" rel="noopener noreferrer"&gt;JSON Web Token (JWT)&lt;/a&gt;, &lt;a href="https://theweeklychallenge.org/blog/oauth2-with-dancer2" rel="noopener noreferrer"&gt;OAuth2&lt;/a&gt;, &lt;a href="https://theweeklychallenge.org/blog/rest-vs-grpc" rel="noopener noreferrer"&gt;gRPC&lt;/a&gt;. There are plenty in the pipelines too.&lt;/p&gt;

&lt;p&gt;If you are looking for something new then you should check this out, &lt;a href="https://omnideth.dev/blog/aspire-perl-integration" rel="noopener noreferrer"&gt;Aspire in Perl&lt;/a&gt;. While going through the post, I came across another gem, &lt;a href="https://github.com/jjatria/perl-opentelemetry-sdk" rel="noopener noreferrer"&gt;OpenTelemetry SDK for Perl&lt;/a&gt;, thanks to &lt;strong&gt;JJ Atria&lt;/strong&gt;. It's going in my TODO list. One day, I will take a closer look.&lt;/p&gt;

&lt;p&gt;Web development in Perl has seen it all since the CGI Era (1990s). First came &lt;strong&gt;PSGI/Plack&lt;/strong&gt;, the middleware revolution, followed by the rise of frameworks like &lt;strong&gt;Catalyst&lt;/strong&gt;, &lt;strong&gt;Dancer2&lt;/strong&gt; and &lt;strong&gt;Mojolicious&lt;/strong&gt;. Dave Cross has written a very detailed post about &lt;a href="https://perlhacks.com/2026/05/the-long-road-from-cgi-to-containers" rel="noopener noreferrer"&gt;The Long Road From CGI To Containers&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Plenty of posts this week to keep you busy all day, enjoy.&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Mohammad Sajid Anwar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Announcements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/tprc-2026-30-day-away" rel="noopener noreferrer"&gt;TPRC is about 30 days from now!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Nearly a month from today, TPRC is happening. A quick reminder to everyone about early bird discount. If you are planning to attend TPRC then you must avail the discounts.&lt;/p&gt;




&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/05/this-week-in-psc-225-2026-05-18.html" rel="noopener noreferrer"&gt;This week in PSC (225) | 2026-05-18&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Announcement of 5.43.11 dev release is the hightlight of this week update.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://omnideth.dev/blog/aspire-perl-integration/" rel="noopener noreferrer"&gt;The Camel Cometh&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Find out the story behind the support of Perl in Aspire. It is very inspiring and honest story. I wouldn't say, I understood everything but it created an interest inside me. You must checkout yourself.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://perlhacks.com/2026/05/the-long-road-from-cgi-to-containers/" rel="noopener noreferrer"&gt;The Long Road from CGI to Containers&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;What a journey CGI had. The post reminds me some of my past encounters with CGI, like printing html tags inside the script. Although, it is not recommeded these days in raw form for web development, I am still one of the maintainers of &lt;a href="https://metacpan.org/pod/CGI::Simple" rel="noopener noreferrer"&gt;CGI::Simple&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/big-o-notation" rel="noopener noreferrer"&gt;Big O Notation&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This story is for all non-computer science background techie who have yet to crack the mystery of time/space complexity. I really enjoyed the journey and I am sure you will love it too.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/jwt-with-dancer2" rel="noopener noreferrer"&gt;JWT with Dancer2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;JSON Web Token (JWT) is something that came up in discussion many times in the past but I never had chance to look at it in details. Last week finally I found time to get to the bottom of it. This post details how and what is it actually.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/oauth2-with-dancer2" rel="noopener noreferrer"&gt;OAuth2 with Dancer2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Now OAuth2 is nothing new to many techie but I stayed away from it for so long. I found it too complex topic and kept delaying to explore. Now that I have seen it inside out, it seems like a walk in a park.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/strategy-design-pattern" rel="noopener noreferrer"&gt;Strategy Design Pattern&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Every time I talk about design patterns, I get excited like a little boy who found his favourite toy. Whenever I feel down, I pick up my book, &lt;a href="https://perlschool.com/books/design-patterns" rel="noopener noreferrer"&gt;Design Patterns in Modern Perl&lt;/a&gt; and read a design pattern. My all time favourite is Singleton design pattern. How about yours?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/rest-vs-grpc" rel="noopener noreferrer"&gt;REST vs gRPC&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;gRPC was something I wanted to explore for a long time. In this post, I shared my investigation so far. I know, I have only scratched the surface and there are still plenty to explore.&lt;/p&gt;




&lt;h2&gt;
  
  
  CPAN
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/pod/App::Test::Generator" rel="noopener noreferrer"&gt;App::Test::Generator v0.39&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Plenty of bug fixes and enhancements in this release as shared by Nigel. The &lt;a href="https://metacpan.org/dist/App-Test-Generator/changes" rel="noopener noreferrer"&gt;Changes&lt;/a&gt; file list the details.&lt;/p&gt;




&lt;h2&gt;
  
  
  Grants
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/maintaining_perl_dave_mitchell_april_2026" rel="noopener noreferrer"&gt;Maintaining Perl 5 Core (Dave Mitchell): April 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/pevans_core_dev_april_2026" rel="noopener noreferrer"&gt;PEVANS Core Perl 5: Grant Report for April 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I noticed the mention of optional chaining PPC in the report. If it is what I think it is then I am super happy that it is in safe hand now. I can't wait to see the end result. Thank you Paul.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/maintaining_perl_tonyc_april_2026" rel="noopener noreferrer"&gt;Maintaining Perl (Tony Cook) April 2026&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-375" rel="noopener noreferrer"&gt;The Weekly Challenge - 375&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Single Common Word" and "Find K-Beauty". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-374" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 374&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Count Vowel" and "Largest Same-digits Number" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/largest-vowel.html" rel="noopener noreferrer"&gt;Largest Vowel&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is an excellent post describing a different way of using Raku. It demonstrates the effectiveness of Raku by utilising such features as 'gather/take' and powerful sequence grouping to make complex string processing simpler than ever before. In addition to being a great way to learn about Raku, this post is also an opportunity for developers to see how the author has reused existing code to produce a clean, modular program.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/05/22/ch-374.html" rel="noopener noreferrer"&gt;All Vowels Are Equal&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post demonstrates an extremely sophisticated work to the challenge. It uses advanced Perl's regex features, look-ahead assertions and the (?{...}) code block.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://kolouch.net/perlweeklychallenge/blog-374.html" rel="noopener noreferrer"&gt;The Weekly Challenge 374&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The code provided is a highly legible and clear way of handling the challenge resolution process, making use of commonly used data structures to simplify complex string processing tasks. It is very pleasing to see this clean, parallelised logic presented in both Perl and Python, which helps improve the maintainability of the two codes and provides a great deal of educational value as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/05/22/PWC374/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 374&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This fantastic example on how to reduce large scale problems into highly efficient solutions using half-lines of codes, showcases Perl’s ability to allow us to write complex, yet very succinct, solutions of difficult problems. It also serves as a great example of how to use regex backreference in a creative way, using regular expressions to locate and manage repeating patterns while minimising the amount of code required.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/pk" rel="noopener noreferrer"&gt;Hey, won’t you play…&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post showcases some great, multi-lingual solutions to this week's challenge by providing clean and idiomatic code examples in Perl, Raku, Python, and Elixir. Packy explains the thought process and the differences between lookaheads in regular expressions. This makes the article a great teaching tool for discovering how various languages solve equivalent algorithm problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/374" rel="noopener noreferrer"&gt;Lots of repetition&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Peter provides a well-reasoned and pragmatic assessment of the problem at hand and presents readable, non-complex code. He broke up all vowel characters in the string into separate chunks prior to applying a sub-substring check which provides an excellent example of performance optimisation by successfully processing very long strings with a relatively low number of vowels in that string to produce an acceptable processing time.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc374-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 374: Count Vowel&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post takes an insightful and interesting view of the vowel-counting challenge by making an interesting analogy of programming logic and music theory from the 18th century. The "Prefix/Cell/Suffix" model is a unique and clear technical explanation of the 'use of bitmasks for tracking vowel completion', making the bitmask solution to this challenge feel elegant and well thought out.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc374-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 374: Largest Same-digits Number&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, you'll find a brief yet highly efficient method of solving the "Largest Same-digits Number" challenge. The method relies on a single-pass regular expression as an elegant means to perform pattern matching with maximum effectiveness, and exemplifies good understanding of the high performance features of Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/05/The_Weekly_Challenge_374__The_Largest_Count.html" rel="noopener noreferrer"&gt;The Largest Count&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post show how to solve problems using both Rust and Perl languages. It also demonstrates how one can take advantage of the strengths of each language (type-safe collections in Rust vs concise string searches in Perl) to carry out the tasks, but do so efficiently.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-vowels-and-numbers-dg8"&gt;Vowels and numbers&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post explains the need to clearly specify the task requirements for the "Largest Same-digit Number" challenge. It shows that an ambiguous requirement has caused different solutions to develop and serves to remind us that "coding to the examples" can be just as important as "coding to the original problem description."&lt;/p&gt;




&lt;h2&gt;
  
  
  Rakudo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/05/18/2026-20-slangification/" rel="noopener noreferrer"&gt;2026.20 Slangification &lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/05/dci-19-great-cpan-modules-released-last.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto.pm - online - JSON Schema: language-agnostic typing / May TPM meeting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 29, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Exploring Perl Modules + using AI&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 3, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 9, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #773 - The perl-tester Docker image</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 18 May 2026 07:25:58 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-773-the-perl-tester-docker-image-582e</link>
      <guid>https://dev.to/szabgab/perl-weekly-773-the-perl-tester-docker-image-582e</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/773.html" rel="noopener noreferrer"&gt;Perl Weekly 773&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there!&lt;/p&gt;

&lt;p&gt;Recently there were a number of days that the &lt;a href="https://github.com/Perl/docker-perl-tester" rel="noopener noreferrer"&gt;perl-tester&lt;/a&gt; Docker image did not build properly. It is always a bit of an issue with it, because there quite a few moving parts. Parts where the dependency isn't fixed. e.g. in most of the cases it installs the most recent version of the modules from CPAN. Which mean any release of any module might break the whole build process. This time, however, the source of the problem was &lt;a href="https://github.com/Perl/docker-perl-tester/issues/166" rel="noopener noreferrer"&gt;the new release of App::cpm&lt;/a&gt;, the tool used to install the CPAN modules. As often the case the new release was intended to improve things: &lt;a href="https://skaji.medium.com/cpm-v1-making-installs-stable-b2236b8eda44" rel="noopener noreferrer"&gt;cpm v1: making installs stable&lt;/a&gt;, but it broke the build on some of the older versions of Perl just by increasing the minimum version of Perl required.&lt;/p&gt;

&lt;p&gt;One solution would be to fix all the dependencies, both tooling and the modules we install, but then someone would need to keep track of changes (the way dependabot does) which is probably way too much work for the few people who contribute to this project. The other solution might be to create an easy way to see what changed between the last successful build and the current failing build. We have &lt;a href="https://github.com/Perl/docker-perl-tester/issues/153" rel="noopener noreferrer"&gt;started to work&lt;/a&gt; on a tool that will help with that. It will also allow us to show exactly what is in every image. BTW If you have spare stars in your pocket, it would be nice if you gave one to the &lt;a href="https://github.com/Perl/docker-perl-tester" rel="noopener noreferrer"&gt;docker-perl-tester&lt;/a&gt; project.&lt;/p&gt;

&lt;p&gt;A couple of days ago I started to play with &lt;a href="https://www.falkordb.com/" rel="noopener noreferrer"&gt;FalkorDB&lt;/a&gt;, an Open Source Graph Database. I already gave a presentation in Hebrew on how to use in general and specifically in Python. In a couple of hours &lt;a href="https://www.meetup.com/code-mavens/events/314763927/" rel="noopener noreferrer"&gt;I am going to give another one&lt;/a&gt; - this time in English - an intro to GraphDB. I'll use Rust for the programatic examples. It seems there is no client for it in Perl so it might be an interesting project to build one. The one in Python uses the Redis module for connectivity so I looked at the options to use Redis in Perl. MetaCPAN showed &lt;a href="https://metacpan.org/pod/Redis" rel="noopener noreferrer"&gt;the Redis module&lt;/a&gt; as the first hit. Unfortunately that module did not have a commit for 3 years and there are many outstanding Issues and even PRs. So I posted about it both in the &lt;a href="https://chat.whatsapp.com/LRrkZsSRDvGLLwppyLnKHy" rel="noopener noreferrer"&gt;Perl Maven WhatsApp group&lt;/a&gt; and in the &lt;a href="https://t.me/PerlMaven" rel="noopener noreferrer"&gt;Telegram channel&lt;/a&gt;. Within seconds I was pointed towards &lt;a href="https://metacpan.org/pod/Mojo::Redis" rel="noopener noreferrer"&gt;Mojo::Redis&lt;/a&gt; and &lt;a href="https://metacpan.org/dist/Net-Async-Redis-XS" rel="noopener noreferrer"&gt;Redis::XS&lt;/a&gt; as alternatives.&lt;/p&gt;

&lt;p&gt;Online Events: If you are in an American time-zone then both the &lt;a href="https://boston-pm.github.io/" rel="noopener noreferrer"&gt;Boston Perl Mongers&lt;/a&gt; and the &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto Perl Mongers&lt;/a&gt; have semi-regular online meetings in your evening hours with various interesting speakers. If you are in the European time-zones or you don't mind having a meeting in your morning hours in the Americas, then there is the &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven group&lt;/a&gt; where it is mostly me giving a presentation or working on some code. For details check out the &lt;a href="https://perlweekly.com/events" rel="noopener noreferrer"&gt;Perl Weekly events page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy your week!&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Gabor Szabo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Announcements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://log.perl.org/2026/04/cpanorg-email-forwarding-has-been-shut.html" rel="noopener noreferrer"&gt;cpan.org email forwarding has been shut down &lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Perl NOC team has shut down the forwarding of email to the cpan addresses. If you are a CPAN author, please make sure MetaCPAN displays ways to contact you. (link to the source git repository of your projects, a LinkedIn account, an email address, etc.)&lt;/p&gt;




&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://skaji.medium.com/cpm-v1-making-installs-stable-b2236b8eda44" rel="noopener noreferrer"&gt;cpm v1: making installs stable&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I rarely include articles from Medium as most of them are spam, but this one is real. So here you are!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/meta/2026/05/at-cpan-dot-org-on-bpo.html" rel="noopener noreferrer"&gt;Is your account on blogs.perl.org registered with an @cpan.org email address?&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/dean/2026/05/installing-bitvector-on-debian-13-trixie.html" rel="noopener noreferrer"&gt;Installing Bit::Vector on Debian 13 (Trixie)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;It is good that this information can be found on a public blog post, but IMHO it would be event better if this was part of the README or the documentation of the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://matthewpersico.github.io/2026/05/12/ptkdb-origins.html" rel="noopener noreferrer"&gt;My Journey with Devel::ptkdb - Origins&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/yukikimoto/enabling-addresssanitizer-asan-in-makefilepl-for-linux-environments-22fe"&gt;Enabling AddressSanitizer (ASan) in Makefile.PL for Linux Environments&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/chansen/2026/05/introducing-timestr.html" rel="noopener noreferrer"&gt;Introducing Time::Str&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;At first I was wondering why this new module when DateTime provides all the features, but then I read on and there are a few reasons. Interesting.&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/briandfoy/business-isbn/discussions/28" rel="noopener noreferrer"&gt;Optional stricter normalization of raw ISBN input&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An issue that gives an opportunity for you to share your thoughts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1tbwvf3/why_does_a_call_to_ref_on_a_reference_to_substr/" rel="noopener noreferrer"&gt;Why does a call to &lt;code&gt;ref&lt;/code&gt; on a reference to 'substr' produce 'LVALUE'?&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Perl
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/05/this-week-in-psc-224-2026-05-11.html" rel="noopener noreferrer"&gt;This week in PSC (224) | 2026-05-11&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-374" rel="noopener noreferrer"&gt;The Weekly Challenge - 374&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Count Vowel" and "Largest Same-digits Number". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-373" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 373&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Equal List" and "List Division" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-373-1.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 373: Equal List&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The clean, logical structure of Abigail's detailed technical analysis provides a very clear and rational basis for how best to apply mathematical theory to practical use. With a focus on optimising the algorithmic complexity rather than executing a brute force approach, Abigail delivers an incredibly efficient solution to this problem that will be valuable to all developers who wish to create highly efficient solutions to their problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-373-2.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 373: List Division&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Abigail's solution to the list partitioning problem is a beautifully crafted and idiomatic implementation that completely avoids the cumbersome index-tracking that traditional loop-based implementations require. The implementation is easy to read and is highly efficient because it leans heavily on the mechanics of the underlying language. This illustrates how an effective structural data transformation paradigm can result in simpler implementations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com//list-list.html" rel="noopener noreferrer"&gt;List the List&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Through a demonstration using gather and take in conjunction with native array splicing Arne demonstrates Raku's capabilities and gives a simple way to distribute remaining list offsets without having to rely on complex nested loops or overhead due to atypical index calculations. The result is a functional representation showing how Raku can eliminate complications associated with the partitioning of structural data, creating an intuitive self-documenting pattern.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-373-task-2-lets-dance-to-list-division-1e0k"&gt;Let's Dance to List Division&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Bob has produced a superbly developer-oriented analysis addressing the pragmatic aspects of designing APIs using Perl's 'flat' argument list mechanism. Bob's approach to using array references in conjunction with a dual-while-loop, which uses 'destructive splice' calls to divide the input data into well-balanced partitions, enables this entire operation to occur without requiring any complex index-tracking cognitive load.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/05/15/ch-373.html" rel="noopener noreferrer"&gt;Divide and Concat&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Jorg has provided a mathematically accurate and highly precise solution that demonstrates command of Perl's multidimensional array manipulation and list processing capabilities. The solution has been designed with a heavy emphasis on reducing iteration overhead, and uses a clean and logical approach to conditional checking. Overall, the implementation is an efficient way to manage data structures for all of the tasks required to complete this project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/05/11/PWC373/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 373&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;W. Luis Mochan gives an interesting, very mathematical view of the difficulties and has elevated the difficulty of the tasks by discussing the different ways each of these tasks can be solved through their mathematical representations. The way the solution uses Perl Data Language is unique in its creativity and clearly shows how matrix operations and vector operations can be applied in a different manner to solve an algorithmic process much more efficiently and faster than typical procedural methods. This is a remarkable, challenging read, demonstrating the way that thinking in terms of vectors alone can change the way standard procedure of manipulating data can be made into a high level, abstract manner.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/pU" rel="noopener noreferrer"&gt;Because your list, your list I can’t resist&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Packy offers a unique perspective on the challenge by framing the approach through an interesting musical context, followed by a really clean, multilingual show-off with a few different language options. As a polyglot expert, Packy's write-up shows a number of idiomatic and clean ways to solve problems in both Perl and Elixir. The solutions have been complimented for their clear structure, readable transformations of data, and the highly contrasting ways in which they use the procedural power of Perl with the functional, pipeline-based elegance of Elixir.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/373" rel="noopener noreferrer"&gt;The week of lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This paragraph describes the outstanding quality of Peter's work in executing his weekly assignments and projects using clear and detailed methods. He concentrates on providing clear and easy to understand explanations of all aspects of the problem using very pragmatic solutions with less complex algorithms than would be required to complete this task, and thus have produced solutions with low run times and high readability. Another benefit of using this strategy is that it will have produced many examples of good clean and maintainable code, as well as simple Perl code showing how to accomplish structural validation without additional runtime cost.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc373-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 373: Equal List&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The analysis that Reinier provided on this challenge is truly impressive due to the systematic approach used to cover edges and validate input. The solution makes a great balance between how computer efficient it is to run while at the same time being easy to scan through for code due to well-named variables and clearly defined logical conditions. This is a great resource for developers looking to implement defensive programming and build highly maintainable systems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc373-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 373: List Division&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Reinier has presented a very clear and logical way to solve the list partitioning problem through clarity in procedural programming and appropriately managing data through effective use of algorithms. The implemented solution is easy to follow, with simple looping structures and clearly defined conditions used to divide the collection according to specification without introducing complexity into the underlying architecture. This solution is a perfect example of pragmatic programming, where simplicity, maintainability, and consistency take precedence over unnecessary abstraction.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/05/robbie-hatleys-solutions-in-perl-for_0143398047.html" rel="noopener noreferrer"&gt;The Weekly Challenge #373&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The analysis provided by Robbie consists of an analysis of the weekly problems and an an idea of what you'd have to do. The breakdown of the problems will be thoroughly examined and will include thorough analysis of all the constraints on the solution as well as a commitment to validate input sufficiently to account for any and all edge cases and to deal with them accordingly. The combination of cleanly structured idiomatic programming style (including the use of loops) with clear and explicit comments that explain the logic behind the programming additions and modifications, make this a great reference source for new and experienced programmers to use.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/05/The_Weekly_Challenge_373__There_Is_No_Equality_Without_Division.html" rel="noopener noreferrer"&gt;There Is No Equality Without Division&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Roger performs a beautiful and tidy example of modern solutions to solving problems through example in different programming languages and paradigms. The two different types of tasks, structural validation and partitioning, have been broken down into separate clear logical blocks that allow for high readability of solutions and the use of commonly used data structures without the use of complex loops. The write-up contains an excellent comparison of the different language features that reduce index-tracking overhead while still providing optimal run-time efficiency and successfully illustrates how functional programming techniques can be used successfully with non-functional programming techniques.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-joining-and-splitting-lists-18gh"&gt;Joining and splitting lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Simon has presented an impressively logical and practical polyglot demonstration that compares the elegant way of handling the first task in Python to how it is done through direct translations into Perl. The first task's solution is particularly notable for its concise efficiency and consists of a great, simply written one-liner using native methods to join strings and performing a direct comparison to form the structure of the list being checked. In the second task, Simon has shown a brilliant method for diving an array into equal components by taking advantage of the mathematical operation called divmod or remainder and relying on destructive splice operations to divide the arrays evenly without creating any overhead from having to manage cumbersome index numbers.&lt;/p&gt;




&lt;h2&gt;
  
  
  Videos
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=SbBnc8FjUXM" rel="noopener noreferrer"&gt;Parsing Perl Without Perl - A Rust LSP for Perl 5&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A presentation by &lt;a href="https://www.linkedin.com/in/effortlesssteven/" rel="noopener noreferrer"&gt;Steven Zimmerman, CPA&lt;/a&gt;, at the online event of the &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto Perl Monger&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.youtube.com/watch?v=QgzHUjB0eTo" rel="noopener noreferrer"&gt;Acting Out With Claude: MCPs in Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A presentation by &lt;a href="https://www.linkedin.com/in/steven-lembark/" rel="noopener noreferrer"&gt;Steven Lembark&lt;/a&gt;, at the online event of the &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto Perl Monger&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/05/dc-17-great-cpan-modules-released-last.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Exploring Perl Modules&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 20, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/calendar/cal-ZFzHes2YwV6j0h9" rel="noopener noreferrer"&gt;Toronto.pm - online - JSON Schema: language-agnostic typing / May TPM meeting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 29, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 9, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #772 - PTS 2025</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 11 May 2026 08:04:22 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-772-pts-2025-lnh</link>
      <guid>https://dev.to/szabgab/perl-weekly-772-pts-2025-lnh</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/772.html" rel="noopener noreferrer"&gt;Perl Weekly 772&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;The Perl Toolchain Summit 2026 held in Vienna from 23rd - 26th April. I almost forgotton about it, until I read the &lt;a href="https://blogs.perl.org/users/book/2026/04/welcome-to-the-perl-toolchain-summit-2026.html" rel="noopener noreferrer"&gt;blog post&lt;/a&gt; by &lt;strong&gt;Philippe Bruhat&lt;/strong&gt;. It was refreshing to see the group met and continued the great work. First post event &lt;a href="https://domm.plix.at/perl/2026_04_perl_toolchain_summit.html" rel="noopener noreferrer"&gt;report&lt;/a&gt; was shared by &lt;strong&gt;Thomas Klausner&lt;/strong&gt;. 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 &lt;a href="https://blogs.perl.org/users/timothy_legge/2026/05/perl-toolchain-summit-2026---vienna.html" rel="noopener noreferrer"&gt;Timothy Legge&lt;/a&gt;, &lt;a href="https://blogs.perl.org/users/leo_lapworth/2026/05/pts-2026.html" rel="noopener noreferrer"&gt;Leo Lapworth&lt;/a&gt;, &lt;a href="https://thibaultduponchelle.github.io/My-Perl-Toolchain-Summit-2026" rel="noopener noreferrer"&gt;Thibault Duponchelle&lt;/a&gt;, &lt;a href="https://ssoriche.com/posts/2026/05/pts-2026-what-actually-happened" rel="noopener noreferrer"&gt;Shawn Sorichetti&lt;/a&gt;, and &lt;a href="https://blogs.perl.org/users/paul_johnson/2026/05/the-perl-toolchain-summit-2026.html" rel="noopener noreferrer"&gt;Paul Johnson&lt;/a&gt;. There was even a group photo shared by &lt;strong&gt;Paul&lt;/strong&gt;. I am looking for an update on my personal favourite project &lt;strong&gt;MetaCPAN&lt;/strong&gt; led by &lt;strong&gt;Olaf Alders&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Happy to see, &lt;a href="https://metacpan.org/dist/Stats-LikeR/view/README.md" rel="noopener noreferrer"&gt;Stats::LikeR&lt;/a&gt;, which provides &lt;strong&gt;R&lt;/strong&gt; 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.&lt;/p&gt;

&lt;p&gt;Please watch the &lt;a href="https://metacpan.org/recent" rel="noopener noreferrer"&gt;recent page&lt;/a&gt; on &lt;strong&gt;MetaCPAN&lt;/strong&gt; for such cool modules. Enjoy rest of the newsletter.&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Mohammad Sajid Anwar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/dbix-async-oracle/" rel="noopener noreferrer"&gt;DBIx::Class::Async - Oracle Database&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/timothy_legge/2026/05/signing-cpan-releases-with-sigstore.html" rel="noopener noreferrer"&gt;Signing CPAN Releases with SigStore&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/dbic-schema-part-2/" rel="noopener noreferrer"&gt;DBIx::Class - Schema Class (Part 2)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/dbic-schema-part-3/" rel="noopener noreferrer"&gt;DBIx::Class - Schema Class (Part 3)&lt;/a&gt;
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/damil/beautiful-perl-feature-low-precedence-boolean-operators-and-or-3900"&gt;Beautiful Perl feature: low-precedence boolean operators 'and', 'or'&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The elegant usefulness of Perl's low-precedence boolean operators (and, or, not) compared to the more common high-precedence operators (&amp;amp;&amp;amp;, ||, !) 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/explain-act/" rel="noopener noreferrer"&gt;Explain act&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, I introduced the workflow automation tool, act. It gives hands-on tutorial on the subject.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/robert_rothenberg/2026/05/ideas-for-the-cpan-meta-v3-specification.html" rel="noopener noreferrer"&gt;Ideas for the CPAN Meta v3 Specification&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/05/this-week-in-psc-223-2026-05-04.html" rel="noopener noreferrer"&gt;This week in PSC (223) | 2026-05-04&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  CPAN
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/lichtkind/2026/05/gtc-21-go-pro.html" rel="noopener noreferrer"&gt;GTC 2.1 go pro&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-373" rel="noopener noreferrer"&gt;The Weekly Challenge - 373&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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 &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-372" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 372&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/spaces-at-large.html" rel="noopener noreferrer"&gt;Spaces at Large&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/05/perl_weekly_challenge_week_372.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 372&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/05/08/ch-372.html" rel="noopener noreferrer"&gt;Regular Sub-Gaps&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/05/04/PWC372/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 372&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-372/challenge-372/matthias-muth#readme" rel="noopener noreferrer"&gt;Very Stringish&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/p3" rel="noopener noreferrer"&gt;Empty Substrings and Empty Spaces&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/372" rel="noopener noreferrer"&gt;Strings of strings&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc372-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 372: Rearrange Spaces&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc372-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 372: Largest Substring&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/05/robbie-hatleys-solutions-in-perl-for_10.html" rel="noopener noreferrer"&gt;The Weekly Challenge #372&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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 &amp;amp; words, ensuring the math for gap size calculations &amp;amp; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/05/The_Weekly_Challenge_372__Space_is_the_Largest_Place.html" rel="noopener noreferrer"&gt;Space is the Largest Place&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-distant-spaces-2839"&gt;Distant spaces&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rakudo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/05/04/2026-18-star-wars-day/" rel="noopener noreferrer"&gt;2026.18 Star Wars Day&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/05/dxcix-21-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Event reports
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/timothy_legge/2026/05/perl-toolchain-summit-2026---vienna.html" rel="noopener noreferrer"&gt;Perl Toolchain Summit 2026 - Vienna&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/leo_lapworth/2026/05/pts-2026.html" rel="noopener noreferrer"&gt;PTS 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/paul_johnson/2026/05/the-perl-toolchain-summit-2026.html" rel="noopener noreferrer"&gt;The Perl Toolchain Summit 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://thibaultduponchelle.github.io/My-Perl-Toolchain-Summit-2026" rel="noopener noreferrer"&gt;My Perl Toolchain Summit 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://ssoriche.com/posts/2026/05/pts-2026-what-actually-happened/" rel="noopener noreferrer"&gt;PTS 2026: What Actually Happened&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;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.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 12, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Exploring Perl Modules&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 20, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #771 - Exploring Perl Modules</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 04 May 2026 12:39:07 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-771-exploring-perl-modules-k0g</link>
      <guid>https://dev.to/szabgab/perl-weekly-771-exploring-perl-modules-k0g</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/771.html" rel="noopener noreferrer"&gt;Perl Weekly 771&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;I put the 'Testing in Perl' course on hold for now. Instead of that we are going to explore the use of some of the mocking libraries we saw during the course. In the next session we'll pick one of the Perl modules used for mocking and we'll look for modules that use it. We'll try to understand how it is being used and we'll try to contribute something to at least one of the modules.&lt;/p&gt;

&lt;p&gt;For background you can check the &lt;a href="https://osdc.code-maven.com/perl" rel="noopener noreferrer"&gt;OSDC Perl&lt;/a&gt; page where we have a listing of modules for 'Code reading'.&lt;/p&gt;

&lt;p&gt;You can also watch the recording of the &lt;a href="https://academy.code-maven.com/c/perl-testing-2026" rel="noopener noreferrer"&gt;Testing in Perl course&lt;/a&gt;. (Registration required but these videos are currently free of charge.)&lt;/p&gt;

&lt;p&gt;Enjoy your week!&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Gabor Szabo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/ron_savage/2026/05/announce-perlwiki-v-145-etc.html" rel="noopener noreferrer"&gt;ANNOUNCE: Perl.Wiki V 1.45 etc&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/tprc-post-conference-class" rel="noopener noreferrer"&gt;TPRC Announces Post Conference Class&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Steven Lembark is presenting: Teaching AI New Tricks: Perly MCP's for Claude.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/lichtkind/2026/04/who-tests-the-tester-me.html" rel="noopener noreferrer"&gt;Who tests the tester? Me !!!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I was just showing the participants of the 'Testing in Perl' course how to write and test a Test::* module. It is nice to see that about the same time Lichtkind wrote an article about the same topic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/preaction/2026/04/reading-cpan-testers-reports-using-ai-agents.html" rel="noopener noreferrer"&gt;Reading CPAN Testers Reports Using AI Agents&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A very interesting and useful use of AI.&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1t0yrko/sending_matrix_messages/" rel="noopener noreferrer"&gt;sending matrix messages&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1t0lpjf/module_naming_vs_cpan_conventions/" rel="noopener noreferrer"&gt;Module naming vs CPAN conventions&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1sz3521/perl_in_ubuntu_2604_lts_vs_2404_lts/" rel="noopener noreferrer"&gt;Perl in Ubuntu 26-04 LTS (vs 24-04 LTS) &lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Some Perl modules need a dev package to be installed using 'apt'.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-372" rel="noopener noreferrer"&gt;The Weekly Challenge - 372&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Rearrange Spaces" and "Largest Substring". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-371" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 371&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Missing Letter" and "Subset Equilibrium" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-371-1.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 371: Missing Letter&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Abigail gives us an efficient solution, O(n), to the missing letter problem by determining the difference between the sum of all letters in a full range of letters and the sum of the letters in the given array. This eliminates unnecessary loops, which is a big advantage over an iterative search.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-371-2.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 371: Subset Equilibrium&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This solution is a well-organised that defines the NP-complete status of this problem and also implements an efficient bitmasking solution in numerous programming languages (e.g., Perl, Python, AWK, C, etc.) and serves as an excellent reference for other programmers to learn about and use for comparison purposes.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/missing-equilibrium.html" rel="noopener noreferrer"&gt;Missing Equilibrium&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Raku Solution implements this approach using combinations to easily create subsets in an idiomatic and very readable way. It also provides an elegant way of compensating for zero-based indices when calculating the sum of the positions in each subset by the calculated subsets.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-371-subset-equilibrium-just-nod-if-you-can-hear-me-14im"&gt;Subset Equilibrium (Just nod if you can hear me)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Bob addressed the exponential number of complex solutions from the outset and provided a practical implementation based on Algorithm::Combinatorics. The use of a positional-based iterator with zero-index compensation allowed him to effectively handle the off-by-one requirement. In addition to that, Bob supplied practical testing strategies using the Test2::Tools::Compare package.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/05/perl_weekly_challenge_week_371.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 371&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This solution gives a clean, efficient implementation that fulfills both the requirement of a proper subset and utilising 1-based indexing by adding + &lt;a class="mentioned-user" href="https://dev.to/combo"&gt;@combo&lt;/a&gt;.elems to the index sum. By making use of combinations from Algorithm::Combinatorics in Perl (and using built-in combinations in Raku), only the necessary subset sizes are generated; the output formatting handles both the non-empty and empty result cases in a very clean manner via a clear ternary expression.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/05/01/ch-371.html" rel="noopener noreferrer"&gt;Missing Equilibria&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This new solution offers an evaluation of the subset equilibrium problem that is a new and interesting technical perspective and acknowledges the shared views of the two demonstrated examples, while not overlooking those cases where the two may have disagreement along the edges of each set of criteria. The Perl code produced using Math::Prime::Util::forcomb and List::Gather is exceptionally simple but has an artistic style as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/04/27/PWC371/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 371&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post describes a simple yet effective way to generate all proper subsets of a set. It uses the subset function of the Algorithm::Combinatorics module to create all proper subsets, and then filters them based on a very concise expression written as a single line. The script contains both a command-line version for easy use and a complete version that includes error handling and has been thoroughly tested.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-371/challenge-371/matthias-muth#readme" rel="noopener noreferrer"&gt;The Missing Equilibrium&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;By mathematically restructuring the main condition in the problem, i.e. equality of the total values for elements and their corresponding indices. Additionally, utilising the combination iterators from Algorithm::Combinatorics with subset sizes of 2 through n-1 provides a memory efficient approach to solving this exponential complexity problem while utilizing an optimally prepared array of pre-computed offsets, or at least the offsets for an individual index, gives evidence of thoughtful programming.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/of" rel="noopener noreferrer"&gt;My subset is-a missing a letter…&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The solution has a nice, clean, multi-language implementation (Raku, Perl, Python, Elixir) and uses indexed pairs of values to keep track of the relationship between the two elements and the index position of the two elements, thus having no off-by-one errors. The solution meets the "proper subset" constraints by filtering out empty sets, singletons, and the full set as well as providing lots of detail in verbose output to help educate the user by giving exact values and sums of values for each match.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/371" rel="noopener noreferrer"&gt;Solve the question and balance the subset&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;By using established neighboring letter pairs, the algorithm determines the steps $a and $b in an efficient manner by deducing which are the next alternately patterned letter combinations in relation to each of the five positions for question marks. The entire algorithm utilises a single conditional expression to account for all five possible question mark positions. Additionally, the use of the modulus operator and the mapping of the patterning logic from the analysis to the assignment of steps makes this implementation both very efficient and very easy to read.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc371-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 371: Missing Value&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This solution requires formalization of the detection of repeating patterns through a comprehensive and well-documented approach by treating them as a repeating two-stage model (i.e., d1 = d3 and d2 = d4). Special consideration is given to both constant and alternating sequences. The use of defined-or (i.e., //=) to unify step values, along with the straightforward relationship between each possible question mark position and its simple arithmetic reconstruction, contributes to creating a code that is highly reliable and easy to follow. Additionally, the thorough input validation provided demonstrates significant consideration for actually implementing in a real world scenario.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc371-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 371: Subset Equilibrium&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This document includes an excellent comparison of two CPAN modules (Algorithm::Combinatorics and Data::PowerSet) that correctly identifies the combinatorically generated subsets by size (2 to n) are more efficient than generating the power set and filtering out the subsets to produce the same result for this specific task. The code base is very clean and well-structured; it also does a great job of utilising list slicing (@nums[@$subset]) and map to convert from 0-based to 1-based position, while making use of the helper function print_result to ensure that all output for all test cases is consistent and easy to read.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/05/robbie-hatleys-solutions-in-perl-for.html" rel="noopener noreferrer"&gt;The Weekly Challenge #371&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This document offers an innovative and realistic perspective on the subset equilibrium issue by acknowledging there is no "smart" optimisation to the subset equilibrium solution and then using a simple combination-based search on the two to n-1 sizes. The solution was implemented correctly with a summation on 1-indexed values for each of those combinations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/05/The_Weekly_Challenge_371__Missing_Equilibrium.html" rel="noopener noreferrer"&gt;Missing Equilibrium&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Roger demonstrates a very clever way of optimizing the solution through the precomputation of one list of differences so that only the check for the sum of the selected differences equals zero must occur, which substantially reduces the amount of computing needed within the combinatorial loops. Roger does a great job of providing a perspective of how to write this in many programming languages (Raku, Kotlin, Crystal, etc.) and provides many practical examples (like sorting the list to create a consistent order for output), thereby making this solution efficient and easily transferable across many different programming languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-question-the-bits-4lnd"&gt;Question the bits&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Using bit manipulation, this solution works well to create all combinations of subsets by iterating through all integers from 1 to 2^n-2, thus avoiding the empty and full subsets. The inner loop adds pos+1 because the indices in a array have a base index of 1, while the implementation does not require any third-party modules, making it portable and easy to use for individuals who are already comfortable using bit mask manipulation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/05/dxcviii-17-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Event reports
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/book/2026/04/welcome-to-the-perl-toolchain-summit-2026.html" rel="noopener noreferrer"&gt;Welcome to the Perl Toolchain Summit 2026!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;That's how it started&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://domm.plix.at/perl/2026_04_perl_toolchain_summit.html" rel="noopener noreferrer"&gt;Perl Toolchain Summit in Vienna&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A little review by the local orga.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Exploring Perl Modules&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 7, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 12, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #770 - Yet Another Test Harness</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 27 Apr 2026 07:05:43 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-770-yet-another-test-harness-44ci</link>
      <guid>https://dev.to/szabgab/perl-weekly-770-yet-another-test-harness-44ci</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/770.html" rel="noopener noreferrer"&gt;Perl Weekly 770&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;I like to believe that I belong to the old school of testing i.e. &lt;a href="https://metacpan.org/pod/Test::More" rel="noopener noreferrer"&gt;Test::More&lt;/a&gt;. That being said, every now and then I come across a magical test workflow. One of them is &lt;a href="https://metacpan.org/pod/App::Yath" rel="noopener noreferrer"&gt;App::Yath&lt;/a&gt;. The biggest and pleasant surprise is that both were presented by none other than &lt;strong&gt;Chad Granum&lt;/strong&gt;. Although I love the idea, I find it hard to adapt to it. I have to force myself otherwise it won't happen. I wrote a short &lt;a href="https://theweeklychallenge.org/blog/testing-in-perl" rel="noopener noreferrer"&gt;blog post&lt;/a&gt; as a reminder to myself while working on this editorial. I can refer to it next time I am changing existing code or adding new code.&lt;/p&gt;

&lt;p&gt;Speaking of testing, &lt;strong&gt;Herbert Breunung&lt;/strong&gt; shared a &lt;a href="https://blogs.perl.org/users/lichtkind/2026/04/who-tests-the-tester-me.html" rel="noopener noreferrer"&gt;blog post&lt;/a&gt; explaining how &lt;strong&gt;Test::Builder&lt;/strong&gt; helped him create his own test suite. This reminded me how I did exactly that in &lt;strong&gt;2010&lt;/strong&gt; to create &lt;a href="https://metacpan.org/pod/Test::Map::Tube" rel="noopener noreferrer"&gt;Test::Map::Tube&lt;/a&gt; for my routing framework, &lt;a href="https://metacpan.org/pod/Map::Tube" rel="noopener noreferrer"&gt;Map::Tube&lt;/a&gt;. It makes me feel quite old now!&lt;/p&gt;

&lt;p&gt;Enjoy rest of the newsletter.&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Mohammad Sajid Anwar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Announcements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.londonperlworkshop.com/news#News-2026-04-27" rel="noopener noreferrer"&gt;The London Perl and Raku Workshop 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Just a heads up: The next LPW is planned to be in November 2026.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/oodler_577/2026/04/ppc-summer-2026---call-for-participation.html" rel="noopener noreferrer"&gt;PPC Summer 2026 - Call for Participation!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Brett Estrade, who is a member of the Perl Community Conference (PPC) organising committee, has released a call for participants for the Summer 2026 PPC. He notes the group's success in the areas of scientific research and community building through the use of independent Perl conferences and asks for speakers to submit proposals to present their work via the Papercall system to help keep the momentum going.&lt;/p&gt;




&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/lichtkind/2026/04/who-tests-the-tester-me.html" rel="noopener noreferrer"&gt;Who tests the tester? Me !!!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In the article, Lichtkind shows how to apply the Test::Builder::Tester module to check your own test functions for correctness. He shares real-life example of using the is_tuple() function that he has developed to aid in creating a test for the GTC project.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/04/this-week-in-psc-222-2026-04-25.html" rel="noopener noreferrer"&gt;This week in PSC (222) | 2026-04-25&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Ihe Perl Steering Council got together at the 2026 Perl Toolchain Summit (Vienna). During this meeting, the group discussed the current status of Perl 5.44. Most blockers have been resolved and EOL workflow has been put in place. Finalisation of details for the next stable release is currently taking place.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/mikko_koivunalho/2026/04/importance-of-repositories-in-public.html" rel="noopener noreferrer"&gt;Importance of Repositories in Public&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this blog post, Mikko argues that keeping project repositories publicly accessible is an important practice even when no new contributions are anticipated. Having a project public on GitHub preserves historical context, serves as an example of quality work for others, and provides a source of useful data for the open-source community.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/petamem/2026/04/ai-as-a-chance.html" rel="noopener noreferrer"&gt;AI as a Chance - Opinion&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this article PetaMem discussed how through AI we will have access to new ways to enhance our creative processes (as opposed to replacing them), through developing a partnership with AI; allowing developers and creators alike use the technology of AI to automate repetitive processes and create opportunities for problems to be solved and new ideas developed through creative innovation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/todd_rinaldo/2026/04/ai-contributions-to-cpan-the-copyright-question.html" rel="noopener noreferrer"&gt;AI Contributions to CPAN: The Copyright Question&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In his article, Todd explores some of the legal issues surrounding code that is generated by AI and available through CPAN, and whether or not these AI-generated contributions are eligible for copyright protection and/or a legal license. He also cautions maintainers about the use of black box LLMs, which do not make public their training data, and encourages the Perl community to develop guidelines for the proper protection of the Perl software ecosystem from future disputes arising from improper use of code generated by LLMs.&lt;/p&gt;




&lt;h2&gt;
  
  
  Web
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.dave.org.uk/2026/04/use-your-powers-only-for-good-clark.html" rel="noopener noreferrer"&gt;Use Your Powers Only for Good, Clark&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Dave dissects a really good looking SPAM email made by an AI LLM to show us all how the world will look in future with AI created outreach. Even though the spam had accurately scraped Dave's background and book titles, Dave believes that this creates the illusion of understanding but does not demonstrate the LLM has any real knowledge of either Dave's values or business model. Dave further states that this type of outreach is now cheaper and easier than ever though the deployment of AI to create large amounts of unsolicited SPAM.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-371" rel="noopener noreferrer"&gt;The Weekly Challenge - 371&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Missing Letter" and "Subset Equilibrium". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-370" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 370&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Popular Word" and "Scramble String" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-370-1.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 370: Popular Word&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Abigail offers a superb example of processing text for the "Popular Word" task using the ability of Perl's regex engine to process words without considering case and complex punctuation marks. This solution is unique because it demonstrates a high-performance solution for filtering out banned words while maintaining concise and easily readable code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-370-2.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 370: Scramble String&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Abigail used a clever recursive method to take on the challenge of the "Scramble String" problem. The use of clear base cases and logic to explore possible points to split and swap all contribute to the final solution being an excellent example of how to solve complex problems with string transformations, using a valid solution and providing a framework that can be used to solve other complex problems involving string transformations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/popular-scramble.html" rel="noopener noreferrer"&gt;Popular Scramble&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Arne's experience in comparing Raku's expressive power vs. Perl with respect to the solutions of these two challenges are at the heart of this review. He also demonstrates how to use Raku's built-in Bag and Any types to simplify complex logic with clean, idiomatic code. This article is a great reference for developers who want to learn how to use modern functional programming patterns effectively.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-370-scramble-on-scramblin-man-5god"&gt;PWC 370 Scramble On, Scramblin' Man&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Bob has created a detailed breakdown of the Scramble String problem, looking at the need to use memoisation to avoid redundantly calculating recursive algorithms. Bob has developed a very clearly constructed solution to the Scramble String problem using test-first development which is a perfect demonstration of how to keep performance and readability on complex branching logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/04/perl_weekly_challenge_week_370.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 370&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this article, there is a thorough comparison made between two languages: Perl and Raku. The many modern capabilities of Raku, such as having a Bag data structure and being natively supportive of methods for manipulating strings, resulted in solving the stated problem while producing significantly less code than what is generated by using Perl to do the same thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/04/24/ch-370.html" rel="noopener noreferrer"&gt;Scrambled Bans&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Jörg has concentrated his efforts solely on providing a high quality Perl solution to this challenge. The way he solves "Scramble String" is especially impressive because he uses a recursive solution that processes challenging partitioning and swapping of strings, using clean and idiomatic Perl programming.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/04/20/PWC370/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 370&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;W. Luis Mochán offers a mathematically rigorous and elegant take on Challenge 370 using Perl. For Task 1, he utilises a compact approach by normalising the input with lc and regex, then applying a frequency count. His review is particularly positive about the clarity and efficiency of using a single hash to filter out banned words while identifying the maximum frequency in one pass. For Task 2, he implements a recursive solution and highlights the technical necessity of caching results to avoid the exponential growth of possibilities in longer strings.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-370/challenge-370/matthias-muth#readme" rel="noopener noreferrer"&gt;Scrambling Back and Forth&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Matthias's submission for Task 1, he has used a concise and efficient one-liner with List::UtilsBy::max_by to count how many times words appear and in doing so stores a reference to the 'most popular' result while processing all results in a single pass. With respect to Task 2, Matthias did not limit himself to performing a simple recursive search as in previous weeks; however, he developed a Reverse Scramble algorithm, which is performing this task as a sequence of sorting in which strings become indexes of streaks representing their sorted order to allow for efficient verification of scrambling operations performed.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/nb" rel="noopener noreferrer"&gt;The scramble can not stop you / from becoming popu-ler… lar&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Packy's polyglot Challenge 370 features solid code samples in Perl, Raku, Python, and Elixir that showcase how to solve the problem multiple ways using different programming languages. He shows how using Elixir's pipe operator or Raku's Bag can help efficiently transform and filter the paragraph from "Most Popular Word". He also demonstrates a consistent, recursive approach to solving the problem using the same recursive logic, with code examples in each of the four languages, while adapting to the specific syntax and idioms of each language, in his example "Scramble String".&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/370" rel="noopener noreferrer"&gt;Words and more words&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Peter implements a clean regular expression approach to normalising the text and eliminating any banned words in Popular Word, while also provides a completely recursive solution in Scramble String that clearly demonstrates splitting and swapping parts of the string in order to illustrate the property of being scrambled.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc370-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 370: Popular Word&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Reinier solution includes a simple regular expression to remove punctuation characters and a hash to count the number of occurrences of each valid word. This makes it easy to identify the most frequently used word that is not on a banned list, and provides an easily readable model from which to analyze text.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc370-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 370: Scramble String&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Reinier's demonstrates pruning as an optimisation technique. If the characters sorted for both strings do not match (meaning they are not anagrams), the function returns false without going through all remaining recursive levels.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/04/robbie-hatleys-solutions-in-perl-for_24.html" rel="noopener noreferrer"&gt;The Weekly Challenge #370&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Robbie's high-performance Perl solutions employ algorithmic efficiency and strong input validation. In Task 1, he uses a fast normalisation method along with a hash-based frequency counting scheme to isolate the most popular word. In Task 2, Robbie's "Scramble String" implementation is notable for being a recursive Divide-and-Conquer strategy, providing an additional speedup by implementing a pre-check anagram filter to eliminate expensive recursive calls to incompatible strings.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/04/The_Weekly_Challenge_370__Popular_Scramble.html" rel="noopener noreferrer"&gt;Popular Scramble&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Roger shown how to use a specialised programming tool like Counter in Rust to find popular words with only a few lines of code. In addition, the example in PostScript is an interesting concept as it shows how to create a counted hash from scratch using the examples provided in the Rust program as a reference.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-popular-scrambling-2bba"&gt;Popular Scrambling&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Simon demonstrates Task 1 by methodically normalising strings and counting strings using hashes in order find the word with the highest occurrence. His solution for Task 2 highlights the use of recursion when solving the problem, and optimises by checking if two strings are anagrams with a "fail-fast" method; this way, all non-anagrams can be filtered out before going through the more complex process of recursion.&lt;/p&gt;




&lt;h2&gt;
  
  
  Perl Tutorial
&lt;/h2&gt;

&lt;p&gt;A section for newbies and for people who need some refreshing of their Perl knowledge. If you have questions or suggestions about the articles, let me know and I'll try to make the necessary changes. The included articles are from the &lt;a href="https://perlmaven.com/perl-tutorial" rel="noopener noreferrer"&gt;Perl Maven Tutorial&lt;/a&gt; and are part of the &lt;a href="https://leanpub.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven eBook&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://perlmaven.com/perl-testing/" rel="noopener noreferrer"&gt;Testing in Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The 'slides' with all the examples that are used in the online course.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rakudo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/04/21/2026-16-selkie-tui-framework/" rel="noopener noreferrer"&gt;2026.16 Selkie TUI Framework&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Training
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://academy.code-maven.com/c/perl-testing-2026" rel="noopener noreferrer"&gt;Testing in Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;While we are still &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;recording the live sessions&lt;/a&gt; of the &lt;b&gt;Testing in Perl&lt;/b&gt; you can also watch the previous episodes on the Code Maven Academy web site. Usually it is for paying subscribers only, but for the next couple of day you can still access it free of charge. You only need to register on the web site.&lt;/p&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/04/dxcvii-19-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven online: Testing in Perl - part 5&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 30, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 12, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #769 - What is dead this week?</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 20 Apr 2026 13:51:34 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-769-what-is-dead-this-week-5e85</link>
      <guid>https://dev.to/szabgab/perl-weekly-769-what-is-dead-this-week-5e85</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/769.html" rel="noopener noreferrer"&gt;Perl Weekly 769&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;Every week I see a post declaring about something being dead. Agile is dead! Testing is dead!, Algol-68 is dead! I am so fed-up with this. So I am not going to link to the article that was discussing 5 dead programming languages.&lt;/p&gt;

&lt;p&gt;Last week finally I got home and because of the flight I had to postpone the &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Testing in Perl&lt;/a&gt; event so it will be held this Thursday. You are invited to &lt;a href="https://academy.code-maven.com/c/perl-testing-2026" rel="noopener noreferrer"&gt;watch the previous sessions&lt;/a&gt; (for now free of charge) and join the next one.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://chat.whatsapp.com/LRrkZsSRDvGLLwppyLnKHy" rel="noopener noreferrer"&gt;Perl Maven WhatsApp group&lt;/a&gt; already has more than 70 members. Unfortunately recently we got a few spammers so I had to turn on registration-approval. This means that when you try to join I'll send you a private message asking who you are. This is the little extra step we have to do to avoid spam. Anyway, you are invited to join us!&lt;/p&gt;

&lt;p&gt;Enjoy your week!&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Gabor Szabo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Announcements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/tprc-talk-deadline" rel="noopener noreferrer"&gt;TPRC Talk Submission Deadline in 2 days!&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/chansen/2026/04/faster-utf-8-validation.html" rel="noopener noreferrer"&gt;Faster UTF-8 Validation&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Way more information about UTF-8 than I can fit in my head.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/lnationorg/enums-for-perl-adopting-develcallparser-and-building-enumdeclare-28bj"&gt;Enums for Perl: Adopting Devel::CallParser and Building Enum::Declare&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/dean/2026/04/compiling-googleprotocolbuffersdynamic-on-debian-trixie.html" rel="noopener noreferrer"&gt;Compiling Google::ProtocolBuffers::Dynamic on Debian Trixie&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;For a long time I have been trying to encourage Perl Module authors to include installation instruction when external libraries are needed. Even if only for one or two Linux distributions. This information should be in the README of &lt;a href="https://github.com/mbarbon/google-protobuf-dynamic" rel="noopener noreferrer"&gt;the project&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/egor/2026/04/happy-sharing.html" rel="noopener noreferrer"&gt;Happy sharing&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;How to share memory between processes? A survey of a bunch od Data::* modules.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.perl.com/article/making-an-asynchronous-clocking-drum-machine-in-perl/" rel="noopener noreferrer"&gt;Making an Asynchronous Clocking Drum Machine App in Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/petamem/2026/04/rust-pdl-part-two.html" rel="noopener noreferrer"&gt;PDL in Rust -- Part Two&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;"The current PDL implementation in pperl covers roughly 3,000 assertions end-to-end: about 1,400 on the Perl-facing connector side and about 1,600 on the engine side. As of this writing roughly 98% of the connector assertions match upstream PDL 2.103 exactly, and most of the remaining couple of dozen we already know why they fail. By the time you read this the numbers will have drifted a little in our favour - give or take - but the shape is the point, not the decimal."&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1sog0en/parsing_a_csv_with_boms_in_every_line/" rel="noopener noreferrer"&gt;parsing a csv with boms in every line&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;What kind of strange things people have to deal with?&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1sn5he3/a_curious_case_of_an_autovivified_env_var/" rel="noopener noreferrer"&gt;A curious case of an autovivified env var&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Should the documentation of autovivification be comprehensive?&lt;/p&gt;




&lt;h2&gt;
  
  
  Grants
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/maintaining_perl_dave_mitchell_march_2026" rel="noopener noreferrer"&gt;Maintaining Perl 5 Core (Dave Mitchell): March 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/pevans_core_dev_march_2026" rel="noopener noreferrer"&gt;PEVANS Core Perl 5: Grant Report for March 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/maintaining_perl_tonyc_march_2026" rel="noopener noreferrer"&gt;Maintaining Perl (Tony Cook) March 2026&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Perl
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/04/this-week-in-psc-220-2026-04-13.html" rel="noopener noreferrer"&gt;This week in PSC (221) | 2026-04-13&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-370" rel="noopener noreferrer"&gt;The Weekly Challenge - 370&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Popular Word" and "Scramble String". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-369" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 369&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Valid Tag" and "Group Division" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-369-1.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 369: Valid Tag&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post provides multiple amazing examples of technical versatility by providing a clean and direct solution written clearly in many different programming languages with tremendous flair, it shows great elegance in presenting the elegant and simple solution to the valid tag problem using the idiomatic language of each respective programming language. Abigail shows off expert level code writing skills by using the advanced character class arithmetic features present within Perl; these advanced ways of manipulating strings show the efficiency of his coding style, while simultaneously creating visually appealing code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-369-2.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge 369: Group Division&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post offers an extremely polished and versatile engineering design for the island program project. Abigail has shown advanced expertise by using a 'chunk-and-fill' method over many different programming languages (Perl, C, and less common languages such as sed, including details on how string slices and fill-up strings can be done with the least amount of impact. Furthermore, it highlights a creative use of string replication operators as well as very efficient use of loops that guarantee that the final incomplete group will still have the correct amount of padding added based on the requirements given in the challenge.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/tag-division.html" rel="noopener noreferrer"&gt;Tag Division&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In an idiomatic Raku implementation of the Group Division problem, as shown pretty clearly here by Arne Sommer, the gather/take construct is utilised nicely to collect the data clearly, and with the use of substr-rw for in-place string manipulation and the replication operator (x) to add padding, the solution is both easily readable and aesthetically pleasing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/04/perl_weekly_challenge_week_369.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 369&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;By taking advantage of mathematical precision and the crispness of concise syntax through the use of "one liners", Jaldhar has developed an efficient method for solving this problem, no matter if you're using Raku or Perl. Calculating the required amount of padding to add to a split string before actually splitting it, allows for quick and accurate results. Furthermore, the clever application of native string manipulation functions adds an additional level of efficiency and clarity to handling the grouping logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/04/17/ch-369.html" rel="noopener noreferrer"&gt;Divided Tags&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This article offers a detailed examination of the many aspects of the "Valid Tag" challenge and provides a well-defined "word" in order to enhance the accuracy of processing. The body of this technical paper describes Jorg's unique application of the Perl programming language's ability to utilise global regular expressions (regex) to solve Task 2; and also the excellent "Shape" verb from the J programming language that has provided an efficient and generalised way to reshape and pad multi-dimensional arrays.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://kolouch.net/perlweeklychallenge/blog-369.html" rel="noopener noreferrer"&gt;The Weekly Challenge 369&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, we look at the approach both challenges in a disciplined and structured manner. The focus is on having code that is easy to maintain and easy to read. We have examples showing clean, modular Perl and Python code, and show examples of how the "Group Division" challenge is solved using efficient use of list slicing and using generator expressions to partition and pad strings in a method that's worthy of professional quality.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fluca1978.github.io/2026/04/13/PerlWeeklyChallenge369.html" rel="noopener noreferrer"&gt;string indexes&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Luca Ferrari exhibits an incredible degree of technical ability through his creation of five unique environments in which to accomplish the Week 369 challenges. Those five programming environments are: Raku, Python, PostgreSQL (PL/Perl, PL/PgSQL, and PL/Java). Luca's elegant use of Raku's rotor method combined with the ability of Python's list slicing to achieve the same complex logic for string padding and partitioning, as demonstrated in his application of The Group Division challenge, show how many different programming languages can utilise very diverse methods to accomplish the same technically precise logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/04/13/PWC369/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 369&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post demonstrates exceptional compact Perl programming by distilling complex string processing procedures into "1.5-liners" that are quite efficient. For Task 1, he builds camelCase tags from a string of input values using the split, map, and join functions in order to achieve the desired result in one pass. In addition, Luis's approach to Task 2 makes use of a brilliant "alternation" regex (.{$size}|.+) as a means of capturing both full and partial segments of an input string in an optimal manner. The use of this regex allows him to create direct array-index padding, resulting in code that is not only concise, but also very technically accurate and well-balanced between the two principles.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-369/challenge-369/matthias-muth#readme" rel="noopener noreferrer"&gt;Good Tags and Good Chunks&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Matthias Muth has written an impressive article on internationalisation (I18N) relating to pragmatic problem solving while still maintaining a strong long-term support model through thoughtful design choices such as those found within both the "Valid Tag" and "Group Division" solutions provided by Matthias's book. The use of the Text::Unidecode module was one way to create technically superior solutions that would accommodate for the presence of non-ASCII character sets and would also adhere to the rules specified in the challenge itself (e.g., valid tag). Additionally, his solution for "Group Division" is equally amazing because he accomplished this via a mathematical pad for the purpose of executing a clean single regex global match - or a single line of functional code - that could otherwise be accomplished via several iterations of code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/nR" rel="noopener noreferrer"&gt;Strings Will Tear Us Apart&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, Packy gives a thorough, contemporary example of string handling in Raku, Perl, Python, and Elixir. He creates a unique solution to the "Group Division" challenge by using the Raku function .comb with integer arguments to automatically divide into chunks and by using the Perl 'unpack' function with a per-function constructed template, demonstrating how you can creatively employ language idioms to efficiently and effectively resolve a common programming issue and provide a solution for data partitioning that uses little or minimal resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/369" rel="noopener noreferrer"&gt;Fun with strings&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In his article, Peter presents a practical and polished approach to developing an order of operations for the sanitisation of strings. By organising the procedure so that lower case, regular expression character removal, and space &amp;amp; character combination are completed before the creation of camelCase, the end product meets the requirements for both camel case formatting as well as length requirements while still producing clean, effective code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc369-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 369: Valid Tag&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In Reinier's method, a model for defensive programming has been developed that features validation of input for real alphabetic values before processing. Also, he has taken a somewhat technical approach (transforming input to remove non-letter characters by converting them to spaces in order to apply camelCase correctly while keeping word boundaries intact) through his use of multiple accurately readable regular expressions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc369-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 369: Group Division&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Reinier has created a very good tutorial solution which showcases how to use the "Perl 4-argument substr function" to extract and remove data from a string using a while loop to do so iteratively and then using string replication for the final padding makes the code extremely readable and a great technical example of using efficient in-place usage of strings.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/04/robbie-hatleys-solutions-in-perl-for_16.html" rel="noopener noreferrer"&gt;The Weekly Challenge #369&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The work done by Robbie within the "Valid Tag" review indicates a very well thought out way to approach hyphenated compound words as a single entity for case adjustment, in addition to providing an innovative solution for "Group Division", by utilising the four-argument form of Perl's substr in order to easily "chop and fill" strings, while also demonstrating his superior knowledge of high-performance string manipulation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/04/The_Weekly_Challenge_369__Divided_Validity.html" rel="noopener noreferrer"&gt;Divided Validity&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Roger's technical review offers an interesting side-by-side comparison of various string handling paradigms from multiple programming languages. The "Valid Tag" part of the review shows how Crystal's highly performant state machine implementation allows for case conversion to be accomplished in a single pass. The "Group Division" analysis of in_groups_of() in Crystal is very interesting as well, as it illustrates just how compact that library function is compared to typical iterative slicing found in Typst, demonstrating that using built-in library functions can greatly simplify the implementation of algorithmic logic through less code complexity.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-group-tag-k56"&gt;Group Tag&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A wonderful illustration of Test-driven development is Simon's critique of Challenge 369. He found through tests that the sanitisation step of "Valid Tag", had to be completed before performing case formatting so that example 5 is handled properly. He also provides useful technical comparisons between both languages' ecosystem strengths, such as Python using more_itertools.grouper vs Perl doing it manually by iteration.&lt;/p&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/04/dxcvi-9-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven online: Testing in Perl - part 4&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 23, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.perl.com/article/announcing-the-perl-toolchain-summit-2026/" rel="noopener noreferrer"&gt;Perl Toolchain Summit 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 23-26, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://boston.pm.org/" rel="noopener noreferrer"&gt;Boston Perl Mongers virtual monthly&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;May 12, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #767 - Rust and Perl</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 06 Apr 2026 05:55:32 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-767-rust-and-perl-522j</link>
      <guid>https://dev.to/szabgab/perl-weekly-767-rust-and-perl-522j</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/767.html" rel="noopener noreferrer"&gt;Perl Weekly 767&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there!&lt;/p&gt;

&lt;p&gt;It was interesting to see how Rust started to eat Python from the inside out. Several Python modules and stand-alone tools were rewritten in Rust. Now as I can see there started to be a movement in Perl as well to rewrite some parts in Rust (e.g. PDL). Very interesting.&lt;/p&gt;

&lt;p&gt;People quite often ask me how could they find a job? Given that I have been self-employed providing training and contract development work, I don't have a lot of experience in job-hunting, but it seems if you can show your programming, creative, and learning capabilities then you will have a better chance landing a new job. So I recommend that people build some interesting open source project or contribute to some projects. I am mentioning this as I just saw an article about &lt;a href="https://dev.to/lnationorg/chandra-cross-platform-desktop-guis-in-perl-1ah2"&gt;Chandra: Cross-Platform Desktop GUIs in Perl&lt;/a&gt; by Robert Acock and at the end of the article he mentions that he is looking for new opportunities. IMHO building new stuff and talking (or writing) about it creates a lot more opportunities in getting a job than only complaining about the lack of jobs. Good luck!&lt;/p&gt;

&lt;p&gt;If talking about contribution, probably one of the easiest thing to contribute is a test. It is also way more valuable than many people might think. If you'd like to contribute to an open source Perl project: 1. clone its source code; 2. Generate test coverage report; 3. Find the holes in the tests and write a test. Then repeat. If you are unsure how to do this, luckily the "Testing in Perl" course I am teaching these days will help you. Last time we saw how to generate and interpret test coverage reports. Next time we'll also see how to do mutation testing. You can &lt;a href="https://academy.code-maven.com/c/perl-testing-2026" rel="noopener noreferrer"&gt;watch the recordings&lt;/a&gt; from the previous sessions (free of charge for 10 more days) and you can join our &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;next live session&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Enjoy Passover, Easter and the rest of your week!&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Gabor Szabo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/petamem/2026/04/pdl-in-rust----a-native-reimplementation-of-the-perl-data-language.html" rel="noopener noreferrer"&gt;PDL in Rust -- A Native Reimplementation of the Perl Data Language&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Very interesting that more of Perl gets a Rust reimplementation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/lnationorg/chandra-cross-platform-desktop-guis-in-perl-1ah2"&gt;Chandra: Cross-Platform Desktop GUIs in Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;"Chandra is a Perl module that lets you build cross-platform desktop applications using the web technologies you already know - HTML, CSS, and JavaScript - while keeping your application logic in Perl.". Sounds interesting to see where it goes.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/lnationorg/introducing-objectproto-a-prototype-object-system-for-perl-327j"&gt;Introducing Object::Proto — A Prototype Object System for Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/perldean/manage-the-health-of-your-cli-tools-at-scale-5glk"&gt;Manage the health of your CLI tools at scale&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;"Your services have dashboards, tracing, and alerting. Your CLI tools print to STDOUT and exit. When something breaks, debugging starts at the API gateway -- everything upstream is a black box. This makes no sense."&lt;/p&gt;




&lt;h2&gt;
  
  
  Discussion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1sd8nhp/activity_streams_librarymodule_for_perl/" rel="noopener noreferrer"&gt;Activity streams library/module for Perl&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Perl
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/psc/2026/03/this-week-in-psc-219-2026-03-30.html" rel="noopener noreferrer"&gt;This week in PSC (219) | 2026-03-30&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-368" rel="noopener noreferrer"&gt;The Weekly Challenge - 368&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Make it Bigger" and "Big and Little Omega". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-367" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 367&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Max Odd Binary" and "Conflict Events" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/max-conflict.html" rel="noopener noreferrer"&gt;Max Conflict&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Arne demonstrates how Raku can help with the "Max Conflict" problem using Raku's built-in support for intervals and sets. By using Raku's expressive syntax (like ranges and Bags), Raku has created an easy-to-read and mathematically intuitive way to solve problems that involve overlapping data.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-367-oddity-ln3"&gt;Overlapping Oddities&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post contains an excellent technical breakdown of both terms using Perl programming language, along with the associated edge cases, such as how to handle timings that cross over midnight using modular arithmetic to resolve them. Additionally, his benchmark testing for different ways to manipulate binary strings provides measurable, statistical data on the efficiency of these algorithms.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/04/02/ch-367.html" rel="noopener noreferrer"&gt;Odd Events&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post explores time-interval logic and complexities of "wrap-around" (i.e., time zone?) events in a mathematically rigorous and fascinating way. Specifically, by introducing the idea of "complementary" events and making use of an ingenious duration-sum inequality, he presents an elegant, universal formula for simplifying conflict detection across the Perl and J programming languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://kolouch.net/perlweeklychallenge/blog-367.html" rel="noopener noreferrer"&gt;The Weekly Challenge 367&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post provides a very pragmatic and functional dual language reference to assist in solving PWC 367. He uses string replication to solve the binary operation task and provides a simple mathematical overlap condition $max(start1, start2) &amp;lt; min(end1, end2)$ for the scheduling task. Therefore his post shows readers how to write readable, fast and efficient code in Perl and Python.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fluca1978.github.io/2026/04/01/PerlWeeklyChallenge367.html" rel="noopener noreferrer"&gt;overlapping intervals&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The article provides a flexible technical overview of PWC 367: Solutions to the two tasks implemented in both Raku and PL/Perl for PostgreSQL (PostgreSQL's Procedural Language/Perl). He presents Raku as a convenient and efficient way of working with high-level string and array operations to concisely solve the binary and interval task while at the same time illustrating how database-level functions can be written using the same logical patterns as the ones he used for both the Raku and PL/Perl implementations of the two tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/03/30/PWC367/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 367&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is a perspective piece reviewing the problems faced in physics, providing elegant one-liners using Perl and/or robust scripts. In particular, solution to events happening at "Conflicting Events" is unique in that he treats time as a circular interval and takes offsets of + or -1440 minutes so that he can accurately determine whether two events overlap even if one of the events crosses the boundary of midnight by using the degree of circularity. This demonstrates an extensive application of mathematics to derive the proper ways to schedule events over time.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-367/challenge-367/matthias-muth#readme" rel="noopener noreferrer"&gt;Odd Conflicts&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post demonstrates his focus on maintaining clean code and code maintainability. The use of meaningful variable names and decomposing the time conversion into logical sub-steps allowed him to take a potentially complicated problem of overlapping time zones and present it in a clear and concise manner via a mathematically sound Perl implementation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/m_" rel="noopener noreferrer"&gt;Conflicting Every Odd&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post offers a great demonstration of multi-language support for PWC 367, using Raku, Perl, Python, and Elixir to provide solutions. The technical review is particularly good at comparing different programming language techniques and how each can be uniquely applied to provide elegant and precise solutions for string manipulation and scheduling conflicts using Elixir's pattern matching and Raku's dynamic coercion as examples of differences between the languages.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/367" rel="noopener noreferrer"&gt;Bits of conflicts&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post features a very well thought out, extensive solution in Perl that uses string multiplication to create the largest odd binary number. He gives us a lin2dec utility that helps validate his solutions. He also provides an excellent explanation of the underlying mathematical principles behind the task he has undertaken.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc367-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 367: Max Odd Binary&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post gives a very complete and well supported solution to the "Max Odd Binary" challenge using Perl, using the principles of defensive programming, through good input validation. The way he technically describes his solution is very helpful since he is able to explain perl specific idioms such as tr///, and also provide good alternatives to count bits when using safe and/or optimised methods so that your code will not fail.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc367-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 367: Conflict Events&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The second task solution provides a consistent, well-understood and detailed Perl implementation for identifying conflicting events by accentuating how to process time-based intervals that cross midnight boundaries. The use of a simple mathematical representation (normalisation of times to minutes), and an efficient "shift" loop to address the next day results in an exceptional algorithm that greatly simplifies complex overlapping logic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/04/robbie-hatleys-solutions-in-perl-for.html" rel="noopener noreferrer"&gt;The Weekly Challenge #367&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The thoughtful way Robbie highlights some of the ambiguity surrounding date-less times in the "Conflict Events" task. By specifically stating what the assumption of "next-day" means for events that occur before a reference time, he offered a reasonable basis upon which to solve for overlaps between intervals of time that is both mathematically accurate and practically viable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/04/The_Weekly_Challenge_367__Binary_Conflict.html" rel="noopener noreferrer"&gt;Binary Conflict&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The includes solutions in both the Raku and Crystal languages. The way he solves Task#2 is particularly interesting because of how he looks at quantising time; by looking at events as ranges of minutes and splitting events that span midnight into two spans, he has developed a very mathematically sound and clean way to check for non-emptiness of intersecting intervals.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-maximum-conflict-5c4n"&gt;Maximum conflict&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Simon Green used the Perl and Python programming language to produce solutions for Task 1 and Task 2. One of Simon's solutions was for the "Conflict Events" problem and it is very good because he used the range objects provided in Python, and generated individual minutes using sets, to determine where there are overlaps by tracking through time; his method provides a good way of handling events that cross over to another day.&lt;/p&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/04/dxciv-20-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;;&lt;br&gt;&lt;a href="https://niceperl.blogspot.com/2026/04/dcxxviii-metacpan-weekly-report.html" rel="noopener noreferrer"&gt;MetaCPAN weekly report&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Event reports
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://domm.plix.at/perl/2026_03_koha_hackfest.html" rel="noopener noreferrer"&gt;Koha Hackfest 2026 in Marseille&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven online: Testing in Perl - part 3&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 9, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven online: Testing in Perl - part 4&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 16, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.perl.com/article/announcing-the-perl-toolchain-summit-2026/" rel="noopener noreferrer"&gt;Perl Toolchain Summit 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 23-26, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
    <item>
      <title>Perl 🐪 Weekly #766 - Perl: Past, Present and Future</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 30 Mar 2026 10:07:08 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-766-perl-past-present-and-future-24i7</link>
      <guid>https://dev.to/szabgab/perl-weekly-766-perl-past-present-and-future-24i7</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/766.html" rel="noopener noreferrer"&gt;Perl Weekly 766&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hi there,&lt;/p&gt;

&lt;p&gt;This week's Perl landscape firmly establishes that while the history of Perl is rich and exciting, it is also a place for experimentation and innovation in the future. There have been handful of releases of &lt;a href="https://metacpan.org/release/EHERMAN/perl-5.43.9/view/pod/perldelta.pod" rel="noopener noreferrer"&gt;Perl v5.43.9&lt;/a&gt; which came up with plenty of changes and major one for me was the &lt;a href="https://github.com/manwar/perl-cool-snippets/blob/main/v543/enhanced-xx.pl" rel="noopener noreferrer"&gt;enhanced /xx&lt;/a&gt; pattern modifier. In between there was another very important patch was released, &lt;a href="https://metacpan.org/release/SHAY/perl-5.42.2-RC1/view/pod/perldelta.pod" rel="noopener noreferrer"&gt;Perl v5.42.2-RC1&lt;/a&gt;, and &lt;a href="https://metacpan.org/release/SHAY/perl-5.40.4/view/pod/perldelta.pod" rel="noopener noreferrer"&gt;Perl v5.40.4&lt;/a&gt; addressing the vulnerability in Compress::Raw::Zlib. Don't dare call Perl is dead.&lt;/p&gt;

&lt;p&gt;Ever worked with XS modules? Well we have three related XS modules that made it looks so simple and easy. The benefit of XS helps creating efficient and high speed unique identifier creation using &lt;a href="https://dev.to/lnationorg/horus-apophis-and-sekhmet-an-cxs-identifier-stack-for-perl-1ac3"&gt;Horus, Apophis, and Sekhmet&lt;/a&gt;. Bonus, you get to see how they can be used together. Robert seems to be on the roll with his another gem, &lt;a href="https://metacpan.org/pod/Eshu" rel="noopener noreferrer"&gt;Eshu&lt;/a&gt;, a code formatter written entirely in C and exposed to Perl through XS.&lt;/p&gt;

&lt;p&gt;Not everything have to be, XS. Dave showed how you can work with &lt;strong&gt;TOON (Token-Oriented Object Notation)&lt;/strong&gt;, textual format for representing structured data, same data model as JSON. Using his new creation &lt;a href="https://metacpan.org/pod/TOON" rel="noopener noreferrer"&gt;TOON&lt;/a&gt;, one can easily work with TOON data model. If you are XS fan, feel free to create XS version of TOON.&lt;/p&gt;

&lt;p&gt;Do you use Java? If yes then you now have the choice of using Perl power inside Java. The project, &lt;a href="https://github.com/fglock/PerlOnJava" rel="noopener noreferrer"&gt;PerlOnJava&lt;/a&gt;, gives us handy tool to get the job done: &lt;strong&gt;jperl, jcpan, and jprove&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The week was fun, too much to handle in such a short time but I am not complaining. I am finding it hard to keep up, how about you?&lt;/p&gt;

&lt;p&gt;Enjoy rest of the newsletter.&lt;/p&gt;

&lt;p&gt;--&lt;br&gt;
  Your editor: Mohammad Sajid Anwar.&lt;/p&gt;

&lt;h2&gt;
  
  
  Announcements
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/foundation-board-releases-2025-annual-report" rel="noopener noreferrer"&gt;TPRF Board Announces the 2025 Annual Report&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Board is pleased to share the 2025 Annual Report from the The Perl and Raku Foundation.&lt;/p&gt;




&lt;h2&gt;
  
  
  Articles
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/damil/beautiful-perl-feature-heredocs-multi-line-strings-embedded-in-source-code-863"&gt;Beautiful Perl feature: "heredocs", multi-line strings embedded in source code&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This article on the Beautiful Perl Feature - Heredocs and MultiLine Strings provides a nice introductory overview of how to use Perl's heredoc syntax to create readable, maintainable multiline text. It provides practical examples combined with a simple explanation which allows experienced programmers and novices alike to have a fresh look at an item that has been around for many years.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://linuxexpert.org/perl-the-strange-language-that-built-the-early-web/" rel="noopener noreferrer"&gt;Perl, the Strange Language That Built the Early Web&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The unusual language that made the early web; a glimpse at the history of Perl less than truly alien to the average user; The original dynamic/interactive media for the internet; with its contribution to automation processes (primarily text); through CGI scripting - both technically and culturally; In terms of practicality or versatility; play a significant role in creating and supporting how the first wave of web interactivity was created and how it became an integral part of the early days of the world wide web.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/lnationorg/horus-apophis-and-sekhmet-an-cxs-identifier-stack-for-perl-1ac3"&gt;Horus, Apophis, and Sekhmet: An C/XS Identifier Stack for Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post focuses on three related XS modules for efficient and high speed unique identifier creation (UUID, ULID and deterministic) and content-addressable storage in Perl. It provides a comprehensive overview of how to use these tools in conjunction with each other to create an efficient and scalable unique ID workflow. It also demonstrates how they can be used together.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/lnationorg/eshu-indentation-fixer-for-eight-languages-written-in-c-3fm6"&gt;Eshu: Indentation Fixer for Eight Languages, Written in C&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This article discusses a portable C-based program that formats code and will uniformly line up the indentation across eight different programming languages. It describes examples to show you how Eshu can help you make the indentation to your programming code consistent with very little effort and no extra heavy duty tools required. For Developers who choose to use other than traditional language-specific formattors, this document presents an overview of how Eshu creates a lightweight formatting solution that developers may find useful.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://perlhacks.com/2026/03/writing-a-toon-module-for-perl/" rel="noopener noreferrer"&gt;Writing a TOON Module for Perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The article presents TOON (Token-Oriented Object Notation) which aims to be simple for both people and LMs to construct and understand while using as few punctuation marks as possible and maintaining an easily accessible structure of data. It also discusses the reasons why TOON will be beneficial and provides a Perl implementation module for TOON with a familiar interface to those that have used JSON.pm.&lt;/p&gt;




&lt;h2&gt;
  
  
  CPAN
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/lichtkind/2026/03/graphicstoolkitcolor-20-feater-overview.html" rel="noopener noreferrer"&gt;Graphics::Toolkit::Color 2.0 feature overview&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Graphics::Toolkit::Color 2.0 feature overview post provides an impressive look at all of the most significant improvements that have been made in developing GTC 2.0. The description outlines how GTC has grown beyond only doing basic coloring routines to include now a much richer, more complex, multi-space colored library complete with the ability to create beautiful gradients, accurately measure colors for perceptual purposes, and a variety of tools for use by both designers and developers. Overall, this is a succinct overview that does an excellent job of showcasing the reasons why GTC 2.0 is a unique addition to CPAN.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/flavio_s_glock/2026/03/perlonjava-gets-a-cpan-client.html" rel="noopener noreferrer"&gt;PerlOnJava Gets a CPAN Client&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is a great update regarding the addition of native CPAN support to Perl-on-JVM tooling. The example uses the ability to use an already developed CPAN client for installing modules and accessing the overall CPAN ecosystem in a more natural way than would be done with the non-JVM versions of the clients. It gives many real-world examples and is an excellent source of information for those who want to connect Perl and Java.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/petamem/2026/03/lingua-revival.html" rel="noopener noreferrer"&gt;Lingua::* - From 17 to 61 Languages: Resurrecting and Modernizing PetaMem's Number Conversion Suite&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The blog entry, "Lingua Revival", is an interesting way to reintroduce Lingua by combining elements of memories with new features that apply to modern day Perl. The story is easy to follow and focuses on being usable in today's world, which will be beneficial to both long-time users and new users of the project.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Weekly Challenge
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://theweeklychallenge.org" rel="noopener noreferrer"&gt;The Weekly Challenge&lt;/a&gt; by &lt;a href="https://manwar.org" rel="noopener noreferrer"&gt;Mohammad Sajid Anwar&lt;/a&gt; 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 Lance Wicks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/perl-weekly-challenge-367" rel="noopener noreferrer"&gt;The Weekly Challenge - 367&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Max Odd Binary" and "Conflict Events". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the &lt;a href="https://theweeklychallenge.org/faq" rel="noopener noreferrer"&gt;FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://theweeklychallenge.org/blog/recap-challenge-366" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 366&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Count Prefixes" and "Valid Times" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/count-times.html" rel="noopener noreferrer"&gt;Count the Times&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Raku Musings has a clearly written "Count the Times" post that gives a well-organised overview. It shows how idiomatic features work together effectively in Raku, resulting in a clear and elegant solution. There is an excellent balance between compact code and an informative explanation. The post demonstrates the use of expressive constructs that lend themselves to solving this type of problem using Raku.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-366-count-prefixes-could-we-start-again-please-19kc"&gt;Could We Start Again, Please&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Bob Lied writes an engaging post about a problem in a clear manner, interspersing logic with humor; making it a pleasure to read! The author reviews alternative methods and their advantages/disadvantages and demonstrates a practical approach as well as demonstrating good Perl coding skill.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-366-task-2-valid-times-38h5"&gt;Valid Times&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Bob Lied's "Valid Times" post systematically breaks down the issue into distinct steps while also providing significant attention to detail in regards to possible edge cases and practical limitations of validation of times. It presents a succinct but complete Perl code and corresponds with sound logic behind the choice of this Perl implementation, which allows readers to follow along easily and use as a reference when addressing the same type of parsing problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.braincells.com/perl/2026/03/perl_weekly_challenge_week_366.html" rel="noopener noreferrer"&gt;Perl Weekly Challenge: Week 366&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Jaldhar's blog has written an extensive, interesting post detailing how to perform Week 366 tasks. It does so by separating them into two sections: Problem 1 and Problem 2. This helps readers easily understand the problems themselves, as well as providing a clear path to solution using Perl. The blog also clearly states the logic behind each step, allowing readers to learn from the blogs experience while still being able to easily move on to solving this week's challenges independently.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/03/27/ch-366.html" rel="noopener noreferrer"&gt;Pre-Timed Counters&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The blog post written for the week of 366 by Jörg, presents an elegant solution that exemplifies the use of clear and concise Perl programming techniques with a command of idiomatic constructs. The reader will appreciate Sommrey's clean, logical approach in solving the problem space and his appreciation for the use of expressive and efficient code, which reflects both familiarity and appreciation for the inherent beauty of programming.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fluca1978.github.io/2026/03/26/PerlWeeklyChallenge366.html" rel="noopener noreferrer"&gt;what time is it?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Luca Ferrari's post is a further example of his continuing theme of approaching Perl Weekly Challenge in an analytical as well as exploratory way; frequently developing solutions in several languages and platforms to help him better understand the challenges. Luca's posts provide very useful instruction/examples; help you learn through experimentation/experience; and help you to truly think about and re-examine/consider the real-world nature of the solution.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/03/27/PWC366/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 366&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The write-up gives a very reasoned overview of the problem with easy-to-follow methods of solving it using logical thinking. There is a good amount of coding as well as thorough explanations that create a valid and helpful source for those searching for an understanding of this issue and its methods of resolution using Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-366/challenge-366/matthias-muth#readme" rel="noopener noreferrer"&gt;Counting Times Without Questions&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The article from Matthias Muth, entitled Matthias Muth's Week 366, is a clear and precise description of his thought processes relating to solutions presented in a concise manner while also being well-organised so as to make it easy to understand the underlying concept. It has an elegant and idiomatic style similar to that of Matthias' other contributions to the Perl Weekly Challenge, and it has a very clean decomposition of the problem that allows more experienced readers to develop an appreciation for it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/mG" rel="noopener noreferrer"&gt;The Times They Are A-Countin'&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The entertaining narrative of Packy Anderson's post combines humor and solid technical approaches to a problem to keep readers interested and provide them with an enjoyable and intuitive experience involved in the solution. His creative approach to framing the challenge and providing clear examples of how to solve it makes for a positive experience for all.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/366" rel="noopener noreferrer"&gt;Prefixes and times?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Peter Campbell Smith's Week 366 Write-up provides an unambiguous, pragmatic solution style representing a strong real-world Perl mindset. The emphasis is placed on solving the problem in an accurate and efficient manner through simple implementation methods. The provided solution is straightforward and effective; he understands the relevant tasks thoroughly and prefers to solve issues clearly and without complexity (typical of all Weekly Challenges).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc366-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 366: Count Prefixes&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The writing style used by Reinier Maliepaard in his submission demonstrates a logical and coherent framework and logical correctness; Making it easy for the reader to follow. Reinier’s structure of writing reflects discipline and analytic thought, along with succinctness, resulting in a Combination of Clear and Robust Perl Source Code, which matches the strategy of problem-solving as well.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc366-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 366: Valid Token Counter&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Week 366 second post by Reinier Maliepaard provides another example of his methodical and rational approach to problem-solving with a detailed logical breakdown along with concise Perl code to solve the problem. The article focuses on providing a clear, correct, and easily read explanation of how to work through validation problems, offering users of all skill levels an accessible, educational account.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://hatley-software.blogspot.com/2026/03/robbie-hatleys-solutions-in-perl-for_24.html" rel="noopener noreferrer"&gt;The Weekly Challenge #366&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Robbie Hatley's Week 366 Answers includes usable Perl solutions, as well as easy to follow logical documentation for each step of reasoning. What is accomplished is a practical, understandable solution. While the solutions provide a clear method to convey both the "how-to" and "why" of developing the final product, they also teach the reader to think through each implementation logically.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/03/The_Weekly_Challenge_366__The_Time_of_the_Count_is_Over.html" rel="noopener noreferrer"&gt;The Time of the Count is Over&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Week 366 of Roger's post is an impressive example of multi-language exploration with Ruby, Lua, PostScript and Raku; it illustrates how to solve problems in Perl and develop cross-language thinking by presenting examples of various programming paradigms solving the same problem as well as having clear and entertaining explanatory text.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/happy-7th-birthday-twc-lpk"&gt;Happy 7th birthday TWC!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Simon Green's 7th Anniversary Post for The Weekly Challenge is an amazing, heartfelt reflection of how far we've come as a community over the past seven years, combining his personal experience with his deep appreciation for all the amazing contributors &amp;amp; readers to our community. It's an uplifting and well-written post that captures the essence of what The Weekly Challenge is about and how it's positively affected our lives.&lt;/p&gt;




&lt;h2&gt;
  
  
  Rakudo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/03/23/2026-12-ich-bin-ein-berliner/" rel="noopener noreferrer"&gt;2026.12 Ich bin ein Berliner&lt;/a&gt;
&lt;/h3&gt;




&lt;h2&gt;
  
  
  Weekly collections
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://niceperl.blogspot.com/" rel="noopener noreferrer"&gt;NICEPERL's lists&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://niceperl.blogspot.com/2026/03/dxciii-10-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;;&lt;br&gt;&lt;a href="https://niceperl.blogspot.com/2026/03/dcxxvii-metacpan-weekly-report-mailmake.html" rel="noopener noreferrer"&gt;MetaCPAN weekly report&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven online: Testing in Perl - part 2&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 2, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Perl Maven online: Testing in Perl - part 3&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 9, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.perl.com/article/announcing-the-perl-toolchain-summit-2026/" rel="noopener noreferrer"&gt;Perl Toolchain Summit 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;April 23-26, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://tprc.us/tprc-2026-gsp/" rel="noopener noreferrer"&gt;The Perl and Raku Conference 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;June 26-29, 2026, Greenville, SC, USA&lt;/p&gt;




&lt;p&gt;You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics.&lt;/p&gt;

&lt;p&gt;Want to see more? See the &lt;a href="https://perlweekly.com/archive/" rel="noopener noreferrer"&gt;archives&lt;/a&gt; of all the issues.&lt;/p&gt;

&lt;p&gt;Not yet subscribed to the newsletter? &lt;a href="https://perlweekly.com/subscribe.html" rel="noopener noreferrer"&gt;Join us free of charge&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(C) Copyright &lt;a href="https://szabgab.com/" rel="noopener noreferrer"&gt;Gabor Szabo&lt;/a&gt;&lt;br&gt;
The articles are copyright the respective authors.&lt;/p&gt;

</description>
      <category>perl</category>
      <category>news</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
