<?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.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 #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>
    <item>
      <title>Perl Weekly #765 - Testing in Perl and AI</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 23 Mar 2026 12:16:34 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-765-testing-in-perl-and-ai-4i6j</link>
      <guid>https://dev.to/szabgab/perl-weekly-765-testing-in-perl-and-ai-4i6j</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/765.html" rel="noopener noreferrer"&gt;Perl Weekly 765&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;I am sending this edition rather late as I got into a frenzy of online courses that require a lot of preparation and only now I had time to work on the Perl Weekly. Sorry for that. In addition this edition has a lot of excellent articles. What happend? Last time I hardly found any article and now there are a lot. I am not complaining at all, I was just really surprised. Keep up the blogging so we we can share more content!&lt;/p&gt;

&lt;p&gt;We have 3 grant reports, 2 reports from GPW, several article about the use of AI for Perl and many more. I think one of the keys is that several people have started to write serieses of articles. So they have a theme and explore it from various aspects.&lt;/p&gt;

&lt;p&gt;I realized too late, but as I am stuck in Hungary for more than a month already, I should have visited the German Perl Workshop in Berlin. I thought about it too late. Anyway, there are at least the reports.&lt;/p&gt;




&lt;p&gt;Personally I love testing. It is coding with very fast feedback that helps me stay sane. More or less :-)&lt;/p&gt;

&lt;p&gt;Last week I taught a course on Testing in Python, but I thought one about Perl should be also done. So a few days from now I am going to start teaching a multi-part course about Testing in Perl. In Zoom.&lt;/p&gt;

&lt;p&gt;Course attendance is free of charge.&lt;/p&gt;

&lt;p&gt;The presentations will be recorded and will be uploaded to the &lt;a href="https://academy.code-maven.com/" rel="noopener noreferrer"&gt;Code Maven Academy&lt;/a&gt; where they will be available to paying subscribers.&lt;/p&gt;

&lt;p&gt;I hope I'll see many of you and your co-workers at the course. &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Register here!&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;
  
  
  Articles
&lt;/h2&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;A bit of nostalgy and a lot of good insights.&lt;/p&gt;

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

&lt;p&gt;The new deadline is April 21, 2026. Go and submit your talk proposal!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://perlhacks.com/2026/03/still-on-the-bleading-edge/" rel="noopener noreferrer"&gt;Still on the [b]leading edge&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The story of a crazy bug. Somewhere. Not in my code. &lt;a href="https://www.reddit.com/r/perl/comments/1rzow8z/still_on_the_bleading_edge_perl_hacks/" rel="noopener noreferrer"&gt;discuss&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/ron_savage/2026/03/announce-perlwiki-v-142-2-cpanmeta-modules.html" rel="noopener noreferrer"&gt;ANNOUNCE: Perl.Wiki V 1.42 &amp;amp; 2 CPAN::Meta* modules&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/damil/beautiful-perl-feature-reusable-subregexes-4iib"&gt;Beautiful Perl feature: reusable subregexes&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.tbcdevelopmentgroup.com/2026-03-17-post.html" rel="noopener noreferrer"&gt;Stop Writing Release Notes: Accelerate with AI&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/dean/2026/03/help-testing-dbdoracle.html" rel="noopener noreferrer"&gt;Help testing DBD::Oracle&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/1s03j28/getting_a_500_error_on_my_website_when_running/" rel="noopener noreferrer"&gt;Getting a 500 error on my website when running CGI script&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Or, how to go from Perl v5.005  to Perl v5.32.1 in one step.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1rzflsg/petaperl_reimplementation_of_perl/" rel="noopener noreferrer"&gt;PetaPerl - reimplementation of perl&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;I have though several times about trying to reimplement Perl in Rust and every time I quickly convinced myself not to do it. First of all because it is way beyond my expertise. However also, what is the value of it? As I understand it there was a presentation about it at the German Perl Workshop covering the motivation as well. Very interesting. You can &lt;a href="https://perl.petamem.com/" rel="noopener noreferrer"&gt;read the documentation and see the slides&lt;/a&gt;. I am rather excited!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1rz719a/ambiguous_use_of_x_resolved_to_x/" rel="noopener noreferrer"&gt;Ambiguous use of ${x} resolved to $x&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Code with winter clothes...&lt;/p&gt;




&lt;h2&gt;
  
  
  Perl and AI
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.tbcdevelopmentgroup.com/2026-03-18-post.html" rel="noopener noreferrer"&gt;Six Ways to Use AI Without Giving Up the Keys&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The titles: 1. Unit Test Writing; 2. Documentation; 3. Release Notes; 4. Bug Triage; 5. Code Review; 6. Legacy Code Deciphering&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rjbs.cloud/blog/2026/03/claude-iv/" rel="noopener noreferrer"&gt;experiments with claude, part ⅳ: dzilification of MIME-Lite&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rjbs.cloud/blog/2026/03/claude-v/" rel="noopener noreferrer"&gt;experiments with claude, part ⅴ: ClaudeLog&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://rjbs.cloud/blog/2026/03/claude-iii/" rel="noopener noreferrer"&gt;experiments with claude, part ⅲ: JMAP-Tester coverage&lt;/a&gt;
&lt;/h3&gt;




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

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

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

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/maintaining_perl_tonyc_february_2026" rel="noopener noreferrer"&gt;Maintaining Perl (Tony Cook) February 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/03/this-week-in-psc-218-2026-03-16.html" rel="noopener noreferrer"&gt;This week in PSC (218) | 2026-03-16&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 Lance Wicks.&lt;/p&gt;

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

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Count Prefixes" and "Valid Times". 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-365" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 365&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Alphabet Index Digit Sum" and "Valid Token Counter" 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/token-alphabet.html" rel="noopener noreferrer"&gt;A Token Alphabet&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An informative and thoughtful article which illustrates Raku's fantastic facilities for creating grammars and using tokens to model your own custom alphabet in a pleasing and expressive manner. Good balance of theory with practical approach; gives uncommon parsing concepts reasonable readability as well showcasing Raku's idiomatic implementation.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/manwar/perlweeklychallenge-club/blob/master/challenge-365/feng-chang/raku/ch-2.ipynb" rel="noopener noreferrer"&gt;PWC365, Task 2 Valid Token Counter&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The implementation of this solution has been done using a clean and organised manner. It shows excellent use of list processing in Raku while also using control flow to solve the problem effectively. Based on the written implementation, the author clearly understands how the system works as shown by their concise and logical reasoning in the code itself, as well as providing an idiomatic means of expressing themselves through the way they wrote their code.&lt;/p&gt;

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

&lt;p&gt;A clearly written and entertaining article that clearly shows both Perl and Raku solutions in parallel. This demonstrates the author's understanding of the idioms and strengths of both languages. The article provides clear logic as well as practical examples of how to implement the logic. The information provided in the article is helpful in showing the differences and similarities between the two programming languages, while also being concise and easy to read.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/03/20/ch-365.html" rel="noopener noreferrer"&gt;Sum Tokens and Count Digits&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is an intelligently written article that succinctly outlines how to utilise an effective problem-solving methodology without sacrificing either code readability or idiomatic use of language. In addition, the article does a wonderful job of providing clarity as well as technical depth in order to enhance both continuity in reasoning and elegance/instructional value of the solution.&lt;/p&gt;

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

&lt;p&gt;This well-written article provides structure to help readers understand how each Weekly Challenge solution was developed. It combines clear explanations with practical examples of code to look at both how to apply a problem and how to solve it. The author demonstrates an understanding of their problem as well as the specific requirements that need to be satisfied in order for a given solution to be considered valid, but also gives the reader a fun place to explore various forms of programming using the languages of Perl and others.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fluca1978.github.io/2026/03/16/PerlWeeklyChallenge365.html" rel="noopener noreferrer"&gt;regexps to rule them all!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An organised, well-articulated post that illustrates your consistent, orderly method for completing each week’s Challenge with great success in diverse languages. This demonstrates your problem solving capabilities as well as your versatility. All explanations provided were descriptive and practical; therefore were applicable across all languages. Also, by providing side-by-side examples of the various implementations from different programming languages, you have created meaningful comparisons; therefore illustrating each language’s distinctive characteristics.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/03/16/PWC365/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 365&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A normalised write‑up is written in an interesting way, making it clear and fun to understand about solving both parts of the Weekly Challenges providing well-structured solutions and Perl/Raku examples. Examples will also be provided that are easy to read, written clearly and concisely, demonstrating logic that can be understood easily, by those with varying abilities.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://awesomepowerofgenetics.blogspot.com/2026_03_15_archive.html#6733674134698732432" rel="noopener noreferrer"&gt;Are Post Alphabits a Token Breakfast Cereal?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post is full of energy and fun. It presents a practical, hands-on approach to completing the Weekly Challenge with appropriate justification and effective usage of Perl programming constructs. Solutions demonstrate an excellent understanding of the basics of programming (particularly list and string). Implementation of the solutions are both approachable and educational for the viewer.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-365/challenge-365/matthias-muth#readme" rel="noopener noreferrer"&gt;Splitting and Summing and Checking and Counting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A concise README that is thoughtfully organised, with clear explanations and idiomatic code, that makes it easy to replicate your approach. You have demonstrated excellent problem solving and a high level of attention to clarity in your write-up; you have also successfully managed to balance the level of detail and technical depth for other people to follow.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/kv" rel="noopener noreferrer"&gt;I'll be the smartest bird the world has ever seen!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This is a creative solution that is fun, playful, uses a literary reference to solve a technical problem, and has clarity of thought and personality. The implementation is brief and uses idiomatic Perl. The strengths of Perl have been used to make it clear, and the story has been made clear and memorable.&lt;/p&gt;

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

&lt;p&gt;This is a good example of a solid engineering solution. It shows a structured and clear thinking process, as well as how well you have used the basic features of Perl to accomplish the task at hand. Your implementation is both concise and expressive; thus, demonstrating your mastery of decomposing problems into their components and using clean, idiomatic coding methods in your programming experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc365-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 365: Alphabet Index Digit Sum&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This document has been created in a deliberate and orderly way which shows a good understanding of the problem at hand as well as the logic behind arriving at the answer; it also includes attention to detail when implementing the solution. The solution is practically designed as well as creatively developed and uses Perl features thoughtfully to create an efficient and effective answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc365-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 365: Valid Token Counter&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;It is a clear and well thought-out solution that uses a sound problem-solving method, reasoning clearly, and has clean, idiomatic Perl code. The method is easy to implement, efficient and has demonstrated the author's understanding of the problem and their attention to edge cases in the implementation process.&lt;/p&gt;

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

&lt;p&gt;The post gives a comprehensive introduction to how to use Perl, as well as examples of its many capabilities. Each task has been addressed thoroughly by providing clear explanations and well‑structured code, illustrating the effective and creative use of Perl idiomatic patterns. All of these characteristics make this post an excellent resource for both learning Perl and using Perl as a reference.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/03/The_Weekly_Challenge_365__Alphabet_Digit_Counter_Token.html" rel="noopener noreferrer"&gt;Alphabet Digit Counter Token&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post presents a clear, thorough examination of the problem and provides an explanation of the solution to the problem through logical analysis. Roger has created a detailed description of the proposed solution, which includes smaller, clearer explanations and code so that all readers, whether looking for Perl or token-based parsing methods, can easily understand how to implement these methods in their own code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-counting-the-index-oe1"&gt;Counting the index&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A concise write-up, which clearly illustrates the two parts of the Weekly Challenge: counting an index, transforming alphabet position into repetitive digit sums, and validating tokens via concise logic expression, using both Python and Perl along with a clear explanation of the solution with examples of practical problem solving and proper implementation.&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/03/dxcii-18-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;;&lt;br&gt;&lt;a href=""&gt;MetaCPAN weekly report&lt;/a&gt;;&lt;br&gt;&lt;a href=""&gt;StackOverflow Perl report&lt;/a&gt;.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://corion.net/blog/2026/03/22/28th-german-perl-workshop-2026-berlin/" rel="noopener noreferrer"&gt;28th German Perl Workshop (2026, Berlin)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;It sounds like the German Perl Workshop became a replacement to the mostly defunct YAPC::EU.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://domm.plix.at/perl/2026_03_german_perl_workshop.html" rel="noopener noreferrer"&gt;German Perl Workshop 2026 in Berlin&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The usual very detailed review by domm.&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 1&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;March 26, 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 #764 - Dancer to Desktop with Prima</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 16 Mar 2026 10:57:14 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-764-dancer-to-desktop-with-prima-25bb</link>
      <guid>https://dev.to/szabgab/perl-weekly-764-dancer-to-desktop-with-prima-25bb</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/764.html" rel="noopener noreferrer"&gt;Perl Weekly 764&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The Perl community continues to move forward with exciting updates and useful new tools. Recently, a new release of &lt;strong&gt;Dancer&lt;/strong&gt; has been announced. In his &lt;a href="https://blogs.perl.org/users/jason_a_crome/2026/03/dancer-210-released.html" rel="noopener noreferrer"&gt;blog post&lt;/a&gt;, &lt;strong&gt;Jason A. Crome&lt;/strong&gt; shared the release of &lt;strong&gt;Dancer 2.10&lt;/strong&gt;, bringing improvements and fixes to the popular web framework. Dancer has long been appreciated for making web development in Perl simple and expressive, and this new version continues that tradition. It is always encouraging to see mature Perl frameworks still actively maintained and evolving with the needs of developers.&lt;/p&gt;

&lt;p&gt;Another interesting project worth exploring is &lt;a href="https://www.reiniermaliepaard.nl/prima" rel="noopener noreferrer"&gt;Prima&lt;/a&gt;, introduced by &lt;strong&gt;Reinier Maliepaard&lt;/strong&gt;. Prima is a powerful GUI toolkit for Perl, allowing developers to build graphical desktop applications. Many Perl developers are familiar with web or command-line tools, but Prima reminds us that Perl can also be used effectively for desktop interfaces. The project demonstrates how flexible the language can be when building different kinds of applications.&lt;/p&gt;

&lt;p&gt;The Perl Steering Council also published a new &lt;a href="https://blogs.perl.org/users/psc/2026/03/this-week-in-psc-217-2026-03-09.html" rel="noopener noreferrer"&gt;UPDATE: PSC (217) | 2026-03-09&lt;/a&gt;. These regular updates give a useful overview of what is happening around the Perl core and governance. They help the community stay informed about ongoing discussions, development priorities, and future plans. Transparency like this is very valuable for an open source language, as it helps everyone understand how decisions are made and where the project is heading.&lt;/p&gt;

&lt;p&gt;Finally, it is always nice to see new modules appearing in the CPAN ecosystem. Recently I released a small module called &lt;a href="https://metacpan.org/dist/DBIx-Class-MockData" rel="noopener noreferrer"&gt;DBIx::Class::MockData&lt;/a&gt;, which is designed to help generate mock data when working with &lt;strong&gt;DBIx::Class&lt;/strong&gt; in tests. Creating realistic data for database tests can sometimes take extra effort, so tools that simplify this process can be quite helpful. As always, &lt;strong&gt;CPAN&lt;/strong&gt; continues to grow thanks to contributions from many developers in the Perl community.&lt;/p&gt;

&lt;p&gt;Enjoy rest of the newsletter. Stay safe and healthy.&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/jason_a_crome/2026/03/dancer-210-released.html" rel="noopener noreferrer"&gt;Dancer 2.1.0 Released&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this short announcement, &lt;strong&gt;Jason A. Crome&lt;/strong&gt; shares the release of &lt;strong&gt;Dancer 2.10&lt;/strong&gt;, a new version of the popular Perl web framework Dancer. The post is brief and to the point, informing the community that the new version is now available on CPAN and ready for use. It highlights the continued maintenance and progress of the framework, which has long been valued for making web development in Perl simple and enjoyable.&lt;/p&gt;




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

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

&lt;p&gt;The Perl Steering Council shares a short summary of their latest meeting and the topics currently on their radar. The meeting itself was brief, but it still covered a few important administrative and planning items related to the Perl core project. One of the main points discussed was the ongoing outreach to potential new members of the Perl core team. The council mentioned that they have contacted several people and are waiting for responses before holding a vote. Expanding or refreshing the group of contributors is an important step in keeping the Perl core development active and sustainable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reiniermaliepaard.nl/prima" rel="noopener noreferrer"&gt;Mastering Perl Prima: A Step-by-Step Guide for Beginners&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The article explains that Prima provides a rich set of widgets and tools for creating graphical interfaces such as windows, buttons, and other interactive elements. With relatively small pieces of code, developers can create a working GUI application and run it through Prima's event loop. This makes it possible to build desktop programs in Perl without relying only on command-line interfaces or web frameworks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/damil/beautiful-perl-feature-two-sided-constructs-in-list-or-in-scalar-context-4fhd"&gt;Beautiful Perl feature : two-sided constructs, in list or in scalar context&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this article, Laurent Dami explores an interesting Perl concept: two-sided constructs that behave differently depending on list or scalar context. The post explains how certain Perl expressions can adapt their behavior based on what the surrounding code expects, which is one of the language's distinctive and powerful features.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/pod/Mail::Make" rel="noopener noreferrer"&gt;Mail::Make&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Mail::Make is a modern Perl module for building and sending MIME email messages with a clean, fluent API. It allows developers to construct messages step-by-step (adding headers, text, HTML, attachments, etc.) while automatically generating the correct MIME structure for the email.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/dist/DBIx-Class-MockData" rel="noopener noreferrer"&gt;DBIx::Class::MockData&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The CPAN distribution DBIx-Class-MockData introduces a convenient way to generate mock data for testing applications built with DBIx::Class. It helps developers quickly populate schemas with realistic test records, making it easier to write and maintain database tests. Tools like this are particularly useful in projects using DBIx::Class, which maps relational database tables to Perl objects and is widely used in Perl web 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-365" rel="noopener noreferrer"&gt;The Weekly Challenge - 365&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Alphabet Index Digit Sum" and "Valid Token Counter". 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-364" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 364&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Decrypt String" and "Goal Parser" 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/string-goal.html" rel="noopener noreferrer"&gt;String Goal&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post showing effective use of features like gather/take and thoughtful string tokenization. The post combines readable code with solid explanation, making it useful and inspiring for anyone exploring Raku for text parsing tasks.&lt;/p&gt;

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

&lt;p&gt;The post provides a clear and well-structured walkthrough of Perl Weekly Challenge #364, presenting the problem statements alongside thoughtful explanations of the approach and implementation. The solutions are concise, readable, and demonstrate practical Perl/Raku techniques, making the article both informative and enjoyable for developers following the challenge.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/03/13/ch-364.html" rel="noopener noreferrer"&gt;Alternate Codes&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post presents solutions to Perl Weekly Challenge 364, with a strong focus on clear reasoning and elegant Perl implementations. The article walks through the logic behind each task and explains the approach in a concise but technical way, making it easy for readers to follow the thought process. It is a well-written challenge write-up that nicely demonstrates practical problem solving and expressive Perl code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fluca1978.github.io/2026/03/13/PerlWeeklyChallenge364.html" rel="noopener noreferrer"&gt;substituting strings!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The article offers a practical and technically rich walkthrough of the challenge tasks. The explanations are concise but clear, and the multiple implementations make the post especially interesting for readers who enjoy comparing solutions across languages and environments.&lt;/p&gt;

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

&lt;p&gt;In this blog post, W. Luis Mochán shares his solutions to Perl Weekly Challenge 364, presenting concise and well-thought-out Perl implementations for both tasks. The article focuses on clear logic and often explores compact solutions, sometimes even demonstrating elegant one-liners and efficient use of Perl features.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-364/challenge-364/matthias-muth#readme" rel="noopener noreferrer"&gt;Decrypted "715#15#15#112#": goooal!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The solutions demonstrate a thoughtful and elegant approach to Perl Weekly Challenge #364, combining clear reasoning with expressive Perl idioms. The code is concise yet readable, showing creative problem-solving and effective use of Perl's strengths to produce clean and well-structured implementations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/kZ" rel="noopener noreferrer"&gt;Andrés Cantor Goes West&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The write-up balances technical detail with an informal and engaging style, making the reasoning behind the solutions easy to follow. It is an enjoyable and well-explained challenge post that highlights practical problem solving and thoughtful coding.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/364" rel="noopener noreferrer"&gt;Weird encodings&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post shares Peter's solutions to Perl Weekly Challenge 364, presenting clear and well-structured Perl implementations for both tasks. It explains the reasoning behind the approach and walks the reader through the logic step by step, making the solutions easy to follow. Overall, it is a solid and educational write-up that demonstrates practical Perl problem-solving and clean coding style.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc364-1" rel="noopener noreferrer"&gt;The Weekly Challenge - 364: Decrypt String&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post presents a clear and well-structured solution to one of the Perl Weekly Challenge tasks. Reinier explains the approach step by step and supports it with concise Perl code, making the logic easy to follow for readers interested in algorithmic problem solving. It is a solid technical walkthrough that demonstrates practical Perl usage while keeping the explanation accessible and educational.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc364-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 364: Goal Parser&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post presents a thoughtful solution to the second task of Perl Weekly Challenge 364, with a clear explanation of the algorithm and the reasoning behind it. Reinier walks through the logic step by step and supports it with concise Perl code, making the approach easy to understand. It is a well-written technical note that demonstrates practical problem solving and highlights Perl's strengths for implementing compact and readable solutions.&lt;/p&gt;

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

&lt;p&gt;In this post, Robbie shares his Perl solutions for Perl Weekly Challenge 364, continuing his detailed and methodical style of writing about the weekly tasks. His solutions are well structured and focus on correctness and clarity, with carefully organised code and explanations that help readers understand the reasoning behind each step.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/03/The_Weekly_Challenge_364__Decrypted_Goals.html" rel="noopener noreferrer"&gt;Decrypted Goals&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, Roger presents his solutions to Perl Weekly Challenge 364, focusing on the task involving "decrypted goals". The write-up explains the reasoning behind the algorithm and walks through a clear Perl implementation that solves the problem efficiently. It is a concise and technically solid article that demonstrates careful analysis and practical Perl problem-solving.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-its-all-about-the-translation-17li"&gt;It's all about the translation&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this blog post, Simon shares his solutions to another Perl Weekly Challenge, following his usual workflow of first solving the tasks in Python and then translating the logic into Perl. This approach provides an interesting comparison between the two languages and highlights how similar algorithms can be implemented in different ways.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/03/10/2026-10-climbing-cragcli" rel="noopener noreferrer"&gt;2026.10 Climbing CragCLI&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=""&gt;Great CPAN modules released last week&lt;/a&gt;;&lt;br&gt;&lt;a href=""&gt;MetaCPAN weekly report&lt;/a&gt;;&lt;br&gt;&lt;a href=""&gt;StackOverflow Perl report&lt;/a&gt;.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://act.yapc.eu/gpw2026/" rel="noopener noreferrer"&gt;German Perl/Raku Workshop 2026 in Berlin&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;March 16-18, 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 #763 - Is WhatsApp the new IRC?</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 09 Mar 2026 10:40:41 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-763-is-whatsapp-the-new-irc-53dl</link>
      <guid>https://dev.to/szabgab/perl-weekly-763-is-whatsapp-the-new-irc-53dl</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/763.html" rel="noopener noreferrer"&gt;Perl Weekly 763&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;While we are still low on articles we had a good start in the &lt;a href="https://chat.whatsapp.com/LRrkZsSRDvGLLwppyLnKHy" rel="noopener noreferrer"&gt;WhatsApp group&lt;/a&gt; I mentioned 2 weeks ago. People introduced themselves and there were some light conversations. You are welcome to join us and write a few words about yourself.&lt;/p&gt;

&lt;p&gt;There are also a number of &lt;a href="https://perlweekly.com/events" rel="noopener noreferrer"&gt;Perl related events&lt;/a&gt; on the horizon in Paris and Berlin and the &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;virtual event&lt;/a&gt; I organize.&lt;/p&gt;

&lt;p&gt;Finally I published the &lt;a href="https://academy.code-maven.com/" rel="noopener noreferrer"&gt;Code Maven Academy&lt;/a&gt; site where there are already 140 hours of videos including 30 hours related to Perl. I'll keep recording these during live events and participants of my events will also get a discount coupon.&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://www.nntp.perl.org/group/perl.perl5.porters/2026/03/msg270767.html" rel="noopener noreferrer"&gt;Perl 5.42.1 is now available!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;'We are pleased to announce version 42.1, the first maintenance release of version 42 of Perl 5.': &lt;a href="https://perldoc.perl.org/perl5421delta" rel="noopener noreferrer"&gt;Perldelta&lt;/a&gt;&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/ron_savage/2026/03/announce-perlwiki-jstree-v-141-etc.html" rel="noopener noreferrer"&gt;ANNOUNCE: Perl.Wiki &amp;amp; JSTree V 1.41, etc&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/damil/beautiful-perl-feature-fat-commas-a-device-for-structuring-lists-4n2o"&gt;Beautiful Perl feature : fat commas, a device for structuring lists&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/damil/beautiful-perl-feature-trailing-commas-4504"&gt;Beautiful Perl feature: trailing commas&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/dami/2026/03/more-devto-articles-on-beautiful-perl-features.html" rel="noopener noreferrer"&gt;More dev.to articles on beautiful Perl features&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A meta-article about the series.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/dean/2026/03/protocol-buffers-protobuf-with-perl.html" rel="noopener noreferrer"&gt;Protocol Buffers (Protobuf) with 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-216-2026-03-02.html" rel="noopener noreferrer"&gt;This week in PSC (216) | 2026-03-02&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 Lance Wicks.&lt;/p&gt;

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

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Decrypt String" and "Goal Parser". 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-363" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 363&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Enjoy a quick recap of last week's contributions by Team PWC dealing with the "String Lie Detector" and "Subnet Sheriff" 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/sheriff-detector.html" rel="noopener noreferrer"&gt;Sheriff Detector&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post offers a clear and elegant walkthrough of solving two interesting problems using Raku. It stands out for its well-explained code, practical examples, and thoughtful use of language features like subsets, parsing, and bitwise operations.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.sommrey.de/the-bears-den/2026/03/06/ch-363.html" rel="noopener noreferrer"&gt;Lying Sheriffs&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The article provides a clear and well-structured exploration of the challenge, combining thoughtful algorithmic reasoning with an elegant implementation. The use of Perl and PDL demonstrates both efficiency and creativity, making the solution not only correct but also technically insightful. Overall, it's an excellent example of concise problem analysis paired with expressive code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://wlmb.github.io/2026/03/02/PWC363/" rel="noopener noreferrer"&gt;Perl Weekly Challenge 363&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post presents a clean and well-reasoned solution to the Perl Weekly Challenge, with concise Perl code and a clear explanation of the underlying logic. The approach is methodical and easy to follow, demonstrating solid problem-solving and thoughtful handling of edge cases.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-363/challenge-363/matthias-muth#readme" rel="noopener noreferrer"&gt;I Don't Lie, Sheriff!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post demonstrates a clean and thoughtful Perl implementation, with clear logic and well-structured code. The approach effectively handles both the self-referential string validation and the subnet-membership check, showing careful attention to correctness and readability.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/k8" rel="noopener noreferrer"&gt;I Shot The Subnet…&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post presents a clear and engaging walkthrough of the challenge, combining solid problem decomposition with readable Perl implementations. The explanation of the approach is practical and easy to follow, while the multi-language comparisons add extra technical value for readers exploring different idioms. Overall, it's a well-structured and insightful solution write-up.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/363" rel="noopener noreferrer"&gt;Lies and lies within&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The write-up presents a clear and methodical approach to solving the Perl Weekly Challenge, with well-structured code and helpful explanations of the reasoning behind the solution. The implementation is clean and idiomatic Perl, making the logic easy to follow and reproduce. Overall, it's a thoughtful and technically solid exploration of the problem.&lt;/p&gt;

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

&lt;p&gt;The write-up provides a clear and well-structured solution to the challenge, with careful input validation and readable Perl code that emphasizes robustness. The step-by-step logic and defensive programming style make the implementation easy to understand and reliable.&lt;/p&gt;

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

&lt;p&gt;The blog presents a thorough and thoughtfully structured solution to the Perl Weekly Challenge, combining clear reasoning with well-documented Perl code. The modular design and detailed explanations make the logic easy to follow while demonstrating solid engineering discipline.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/03/The_Weekly_Challenge_363__Stringy_Sheriff.html" rel="noopener noreferrer"&gt;Stringy Sheriff&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post offers a clear and thoughtful walkthrough of solving the challenge with practical reasoning and well-structured code. Roger nicely explains the approach step-by-step, making the solution easy to follow while highlighting useful string-processing techniques.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challlenge-the-subnet-detector-1d9l"&gt;The subnet detector&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post provides a clear and practical walkthrough of both tasks from The Weekly Challenge, with well-structured solutions in Python and Perl. The explanations highlight useful techniques such as regex parsing, handling UTF-8 characters, and leveraging networking libraries like Python's ipaddress and Perl's Net::IP.&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/03/dxc-16-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;Perl Maven online: Code-reading and Open Source contribution&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;March 10, 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;March 11, 2026&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://act.yapc.eu/gpw2026/" rel="noopener noreferrer"&gt;German Perl/Raku Workshop 2026 in Berlin&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;March 16-18, 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>
