<?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 #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>
    <item>
      <title>Perl 🐪 Weekly #762 - Perl with MetaCPAN</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 02 Mar 2026 08:45:58 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-762-perl-with-metacpan-2i8l</link>
      <guid>https://dev.to/szabgab/perl-weekly-762-perl-with-metacpan-2i8l</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/762.html" rel="noopener noreferrer"&gt;Perl Weekly 762&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;If there's one thing that keeps impressing me in our community, it's the dedication of people like &lt;strong&gt;Olaf Alders&lt;/strong&gt;. Week after week, Olaf keeps refining &lt;a href="https://metacpan.org" rel="noopener noreferrer"&gt;MetaCPAN&lt;/a&gt;, polishing small details and improving the user experience. It's not always flashy work, but when you use &lt;strong&gt;MetaCPAN&lt;/strong&gt;, you can feel it - everything feels smoother, faster, and more reliable. That kind of steady, thoughtful dedication really inspires me.&lt;/p&gt;

&lt;p&gt;Speaking of inspiration, &lt;strong&gt;Dave Cross&lt;/strong&gt; recently shared a neat little trick that I think many of us can use. He showed how your README file can be turned into a static website - yes, the README you already have for your module! The article on Dev.to is called &lt;a href="https://dev.to/davorg/your-readme-is-already-a-website-dg7"&gt;"Your README is already a website"&lt;/a&gt; and it's a fun, practical reminder that sometimes the tools we already have, can do more than we think. I love seeing simple ideas like that applied in clever ways.&lt;/p&gt;

&lt;p&gt;On my side of things, I've been quietly wrestling with some longstanding issues in &lt;a href="https://metacpan.org/pod/DBIx::Class" rel="noopener noreferrer"&gt;DBIx::Class&lt;/a&gt;. Not only that, but &lt;a href="https://metacpan.org/dist/DBIx-Class-Async" rel="noopener noreferrer"&gt;DBIx::Class::Async&lt;/a&gt; shares the same quirks, so it's been double the fun. I managed to fix a few problems already, but some issues are tied to &lt;strong&gt;PostgreSQL&lt;/strong&gt;-specific behavior. That turned out to be tricky because most of the existing tests run on &lt;strong&gt;SQLite&lt;/strong&gt; - easy to spin up, but not the same as &lt;strong&gt;PostgreSQL&lt;/strong&gt;. I stumbled upon &lt;a href="https://metacpan.org/pod/Test::PostgreSQL" rel="noopener noreferrer"&gt;Test::PostgreSQL&lt;/a&gt;, which looked perfect, and then found &lt;a href="https://metacpan.org/pod/Test::DBIx::Class" rel="noopener noreferrer"&gt;Test::DBIx::Class&lt;/a&gt;, which integrates smoothly with it. I thought, "Great! Just write a use case and done." Ha! Not quite. My &lt;strong&gt;Ubuntu 24.04&lt;/strong&gt; setup didn't want to play nicely with &lt;strong&gt;Test::PostgreSQL&lt;/strong&gt; - some socket permission issues blocked me entirely. I decided to tinker and ended up creating &lt;a href="https://metacpan.org/pod/Test::PostgreSQL::v2" rel="noopener noreferrer"&gt;Test::PostgreSQL::v2&lt;/a&gt;, which worked like a charm. Then came integrating it with &lt;strong&gt;Test::DBIx::Class&lt;/strong&gt;, which needed a trait for my new module. After a little more work, I added &lt;strong&gt;Test::DBIx::Class::SchemaManager::Trait::Testpostgresqlv2&lt;/strong&gt;, and voila - now anyone using &lt;strong&gt;Test::DBIx::Class&lt;/strong&gt; with &lt;strong&gt;PostgreSQL&lt;/strong&gt; can benefit. For me, that meant I finally had a reliable way to reproduce &lt;a href="https://rt.cpan.org/Public/Bug/Display.html?id=133621" rel="noopener noreferrer"&gt;the issue&lt;/a&gt; and verify the fix, like in this unit test for &lt;strong&gt;DBIx::Class::Async v0.64&lt;/strong&gt;: &lt;a href="https://github.com/manwar/DBIx-Class-Async/blob/master/t/156-resultset-inflate-datetime.t" rel="noopener noreferrer"&gt;t/156-resultset-inflate-datetime.t&lt;/a&gt;. Feels good to see it all working.&lt;/p&gt;

&lt;p&gt;While I was in tinkering mode, I also revisited &lt;strong&gt;Test::Spelling&lt;/strong&gt;. I always get tripped up on &lt;strong&gt;British&lt;/strong&gt; vs. &lt;strong&gt;American&lt;/strong&gt; English in POD, and I wanted a unit test that could work across all my modules. Initially, I had to manually add stopwords per module - tedious! So I upgraded &lt;strong&gt;Test::Spelling&lt;/strong&gt; and created &lt;a href="https://metacpan.org/pod/Test::Spelling::Stopwords" rel="noopener noreferrer"&gt;Test::Spelling::Stopwords&lt;/a&gt;. Now I can generate stopwords automatically, and the same script works for every module. It's been a real time-saver, and I'm even using it in &lt;strong&gt;DBIx::Class::Async&lt;/strong&gt; here: &lt;a href="https://github.com/manwar/DBIx-Class-Async/blob/master/t/spell-pod.t" rel="noopener noreferrer"&gt;t/spell-pod.t&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's funny how small tools and little tweaks can make such a difference. Between Olaf's continuous improvements, Dave's clever README trick, and the testing adventures I've had, I feel reminded of what makes our Perl community special - curiosity, persistence, and a little bit of playful tinkering.&lt;/p&gt;

&lt;p&gt;Enjoy rest of the newsletter and stay safe &amp;amp; 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://news.perlfoundation.org/post/tprc-2026-call-for-sessions" rel="noopener noreferrer"&gt;TPRC call for presentations is open!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Perl &amp;amp; Raku Foundation has opened its call for presentations for TPRC 2026, inviting submissions of 20 or 50 minute talks on topics of interest to the Perl and Raku communities. Accepted speakers will receive complimentary conference tickets, with sessions scheduled for June 26–28 in Greenville, SC—an excellent opportunity to share insights and help shape this year's technical programme.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://news.perlfoundation.org/post/board_proposes_chris_prather" rel="noopener noreferrer"&gt;Board Proposes Chris Prather (perigrin) for Membership&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Perl Foundation's board has put forward Chris Prather (perigrin) as a candidate for board membership, highlighting his decades of professional Perl experience and long‑standing community contributions. His vision emphasises strengthening the Foundation's role in uniting Perl and Raku projects, supporting maintainers, and fostering sustainable ecosystem growth.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/dimitrios_kechagias/2026/03/cloud-vm-performance-price-comparison-2026.html" rel="noopener noreferrer"&gt;Cloud VM Performance / Price comparison 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post offers a timely, data‑driven benchmark of CPU performance versus cost across 7 major cloud providers and 44 VM families, using Perl‑based tooling for reproducible results. The concise summary and practical Docker‑ready benchmark suite make it a valuable reference for developers and architects seeking real‑world insights into cloud compute value.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/drhyde/automatic-cross-platform-testing-part-7-32-bit-again-1ipf"&gt;Automatic cross-platform testing: part 7: 32 bit, again&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;David Cantrell's latest on automatic cross‑platform testing tackles the perennial challenge of running CI on 32‑bit environments using modern GitHub Actions, showing how to assemble a unified workflow across Unix‑like systems while handling 32‑bit builds. He walks through clever tricks for downloading artifacts and even building a 32‑bit Perl with 32‑bit integers for more thorough testing. It’s a practical, hands‑on guide for anyone keen to broaden test coverage beyond the usual 64‑bit platforms.&lt;/p&gt;




&lt;h2&gt;
  
  
  Podcast
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://underbar.cpan.io/episodes/9/" rel="noopener noreferrer"&gt;The Underbar, episode 9: Olaf Kolkman (part 1)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Olaf Kolkman has had a long career in networking and Open Source that led him to be working on Internet Technology, Policy and Advocacy at the Internet Society. In September 2025, we had a long conversation with him. In this first part, we discussed his involvement with Perl, DNSSEC and NLnet Labs. &lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/pod/DBD::Mock::Session::GenerateFixtures" rel="noopener noreferrer"&gt;DBD::Mock::Session::GenerateFixtures v1.03&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The latest release includes automatic mock data generation for transactional database interactions. That means it's much easier to capture and replay sequences that involve BEGIN WORK, COMMIT, ROLLBACK, and even nested try/catch logic.&lt;/p&gt;

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

&lt;p&gt;The latest release introduces mutation testing alongside a sleek HTML mutation dashboard, making it easier to see which lines of code survived mutations and where your tests could miss mistakes. Instead of just coverage numbers, you can now ask, "Would a mistake here be caught?" The dashboard highlights affected lines, provides helpful tooltips, and allows detailed per-line inspection.&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-363" rel="noopener noreferrer"&gt;The Weekly Challenge - 363&lt;/a&gt;
&lt;/h3&gt;

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

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

&lt;h3&gt;
  
  
  &lt;a href="https://deadmarshal.blogspot.com/2026/02/twc362.html" rel="noopener noreferrer"&gt;TWC362&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This blog post delivers clean, idiomatic Perl solutions to both parts of TWC 362, with clear logic in the echo_chamber looping and a well-structured number-to-words sorting implementation. The use of Perl's core functions keeps the code readable and efficient, making it a helpful reference for Perl Weekly Challenge enthusiasts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/spellbound-echo.html" rel="noopener noreferrer"&gt;Spellbound Echo&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post offers a clear and idiomatic Raku solution to the 'Echo Chamber' challenge, showcasing concise use of core language features like map, substr, and the repetition operator. The explanation is practical and easy to follow, making it a great example of writing expressive, efficient Raku code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-362-echo-chamber-1dn1"&gt;Echo Chamber&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This write-up for PWC 362 gives a thoughtful and practical exploration of multiple Perl approaches to the 'Echo Chamber' string transformation problem. Bob clearly explains regex, list-mapping, and string-building techniques, offering insights into Perl's expressive power and performance trade-offs. It's a solid, engaging read with useful benchmarks for comparison.&lt;/p&gt;

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

&lt;p&gt;This Week 362 post on Braincells.com presents clear, idiomatic Perl solutions to the 'Echo Chamber' and spell-sorting tasks, with concise logic leveraging Perl's core functions for string repetition and custom sorting. The explanations walk through the problem and implementation cleanly, making it accessible even for those new to the weekly challenges. It's a solid technical write-up that showcases effective Perl problem-solving.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fluca1978.github.io/2026/02/25/PerlWeeklyChallenge362.html" rel="noopener noreferrer"&gt;Lingua to the rescue!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This write-up on Perl Weekly Challenge 362: Lingua to the rescue! gives a clear and practical set of Perl and Raku solutions, especially for the 'Echo Chamber' string task using Raku's expressive constructs and Perl's repetition operator. The post balances readability with technical depth, making it engaging and informative for developers exploring language features.&lt;/p&gt;

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

&lt;p&gt;This post delivers clear, idiomatic Perl solutions to both tasks of Perl Weekly Challenge 362, using expressive constructs like map‑based repetition for Echo Chamber and a well‑structured Schwartzian sort with language‑specific converters for Spellbound Sorting. The explanations make the logic easy to follow and showcase Perl's strengths in string and list processing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://awesomepowerofgenetics.blogspot.com/2026_03_01_archive.html#1053650611098319774" rel="noopener noreferrer"&gt;What Sort of Echo?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post gives a straightforward and well-structured Perl implementation for both parts of Perl Weekly Challenge 362, cleanly illustrating string expansion and English-word sorting logic. The code leverages familiar Perl idioms like map and split for clarity and effectiveness, making it easy to follow for readers interested in Perl string and list processing.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/jd" rel="noopener noreferrer"&gt;You Have No Choice&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This write-up offers clear, practical multi-language solutions to the Perl Weekly Challenge 362 tasks, with nicely explained approaches in Raku, Perl, Python, and Elixir that make the logic easy to follow. Packy balances straightforward implementations with thoughtful commentary, making it a technically solid and engaging post for challenge enthusiasts.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/362" rel="noopener noreferrer"&gt;Echo and wordy numbers&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This challenge page from Peter presents the Perl Weekly Challenge 362 tasks with clear problem statements for both 'Echo Chamber' and 'Spellbound Sorting'. It provides a solid foundation for exploring string manipulation and sorting by word form, making it a useful resource for practicing concise algorithm design in Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc362-1" rel="noopener noreferrer"&gt;Echo Chamber&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This Weekly Challenge 362 post offers a clean, beginner-friendly Perl implementation of the 'Echo Chamber' task, contrasting a straightforward loop approach with a more declarative map-and-join variant. The explanations highlight readable coding practices and clarify the benefits of each style, making it both instructive and approachable for Perl programmers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc362-2" rel="noopener noreferrer"&gt;Spellbound Sorting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This PWC 362 Part 2 post presents a clear and efficient Perl solution for sorting numbers by their spelled-out word forms using a classic Schwartzian Transform. The explanation shows thoughtful use of Lingua::Any::Numbers for multilingual support and highlights how to avoid repeated conversions for better performance. It's a technically solid and instructive example of Perl's data-processing strengths.&lt;/p&gt;

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

&lt;p&gt;This post presents well‑thought‑out Perl solutions to the Perl Weekly Challenge 362 problems with clear logic and use of idiomatic Perl constructs. The code is structured for readability and correctness, making it a valuable example for anyone exploring challenge‑style problem solving in Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/03/The_Weekly_Challenge_362__Spellbound_Echo.html" rel="noopener noreferrer"&gt;Spellbound Echo&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post delivers a clear and well‑explained exploration of The Weekly Challenge 362 tasks, walking through character‑duplication and spelled‑number sorting logic with readable examples. The author balances practical code with thoughtful commentary, offering valuable insights into expressive string and list manipulation techniques.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-the-one-liners-14lo"&gt;The one liners&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post delivers clean, one‑liner solutions in both Python and Perl for the Weekly Challenge 362 tasks, showing concise use of enumeration and string repetition for Echo Chamber and leveraging language‑specific libraries for Spellbound Sorting. Simon's examples and side‑by‑side language comparison make the logic easy to grasp and technically satisfying.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/02/23/2026-08-positional-adverbs/" rel="noopener noreferrer"&gt;2026.08 Positional Adverbs&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/02/dlxxxix-16-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: 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>
    <item>
      <title>Perl 🐪 Weekly #761 - Perl on WhatsApp</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 23 Feb 2026 05:27:56 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-761-perl-on-whatsapp-4h3m</link>
      <guid>https://dev.to/szabgab/perl-weekly-761-perl-on-whatsapp-4h3m</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/761.html" rel="noopener noreferrer"&gt;Perl Weekly 761&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Do you use WhatsApp? There is now a &lt;a href="https://chat.whatsapp.com/LRrkZsSRDvGLLwppyLnKHy" rel="noopener noreferrer"&gt;WhatsApp group for Perl&lt;/a&gt;. Join us!&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href="https://about.me/mikkokoivunalho" rel="noopener noreferrer"&gt;Mikko Koivunalho&lt;/a&gt; we now have a graph on the &lt;a href="https://perlweekly.com/metacpan" rel="noopener noreferrer"&gt;MetaCPAN stats page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Perl-wise it was a rather weak week: we don't have many articles. On the other hand we are back with a new live online event where we are going to work on one or more CPAN modules. I hope this will encourage more of you to start contributing to open source projects in Perl and maybe also to write articles about your journey. &lt;a href="https://luma.com/perl-maven" rel="noopener noreferrer"&gt;Register here&lt;/a&gt;! If the scheduled time-slot is not good for you, come to our WhatsApp group and let's discuss it!&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/02/ann-cpanmetacurator-v-108-perlwiki-v-140-etc.html" rel="noopener noreferrer"&gt;ANN: CPAN::MetaCurator V 1.08, Perl.Wiki V 1.40 etc&lt;/a&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://perlhacks.com/2026/02/treating-github-copilot-as-a-contributor/" rel="noopener noreferrer"&gt;Treating GitHub Copilot as a Contributor&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Dave Cross just posted this article explaining how to use Github co-pilot as a contributor to your project. We will give it a try next meeting, but you can already try it yourself on one of the TODO items in our list.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://www.kcaran.com/posts/perl-plack-middleware-for-emulating-an-apache-http-server.html" rel="noopener noreferrer"&gt;Perl/Plack Middleware for Emulating An Apache HTTP Server&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Keith released a couple of new Plack middleware modules that he uses as a test web server for pages that will ultimately be under Apache httpd.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/nerdvana/2026/02/websockets-in-catalyst.html" rel="noopener noreferrer"&gt;Websockets in Catalyst&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A detailed example with explanation and use-case.&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-362" rel="noopener noreferrer"&gt;The Weekly Challenge - 362&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Echo Chamber" and "Spellbound Sorting". 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-361" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 361&lt;/a&gt;
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  &lt;a href="https://deadmarshal.blogspot.com/2026/02/twc361.html" rel="noopener noreferrer"&gt;TWC361&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The blog post presents clear and idiomatic Perl solutions for both the Zeckendorf representation and the celebrity problem, showcasing practical logic and efficient algorithmic style. The code is easy to follow and well-structured, making it a great example of solving weekly challenge tasks with solid Perl techniques.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/celebrity-representation.html" rel="noopener noreferrer"&gt;Celebrity Representation&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post showcases a clean and thoughtful Raku solution to computing Zeckendorf representations, demonstrating idiomatic use of sequences and recursion in the language. It's both well-structured and easy to follow, making it a valuable reference for Raku practitioners tackling algorithmic challenges.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://fluca1978.github.io/2026/02/19/PerlWeeklyChallenge361.html" rel="noopener noreferrer"&gt;numbers&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The write-up presents clear and well-structured Raku solutions for both the Zeckendorf sequence and the celebrity problem, with straightforward logic that's easy to follow and learn from. The use of idiomatic Raku constructs and explanatory comments makes the post a solid reference for anyone tackling similar challenges.&lt;/p&gt;

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

&lt;p&gt;The post delivers clear and practical Perl implementations for both the Zeckendorf representation and the celebrity detection problems, with complete working scripts and illustrative example outputs. Its well‑organised explanations and real usage examples make it an excellent reference for Perl developers tackling these classic algorithmic tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://awesomepowerofgenetics.blogspot.com/2026_02_22_archive.html#9014461344541175177" rel="noopener noreferrer"&gt;Was Fibonacci ever a Celebrity?&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post offers solid, well-commented Perl implementations for both TWC361 tasks, clearly expressing the logic behind Zeckendorf decomposition and celebrity detection. The structured approach and readable code make it a valuable example for anyone exploring algorithmic solutions in Perl.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/jJ" rel="noopener noreferrer"&gt;Where Everybody Knows Your Name&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The write-up delivers clear and well-structured multi-language solutions for both the Zeckendorf representation and the celebrity detection tasks, with thoughtful explanations of the greedy algorithm and candidate evaluation. The step-by-step approach and readable Perl, Raku, Python, and Elixir code make the post a practical and educational resource for anyone exploring these classic algorithmic problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/361" rel="noopener noreferrer"&gt;Zeckendorf, the celebrity&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The Challenge 361 post clearly states the two tasks - computing the Zeckendorf representation of a number and finding a celebrity in a matrix, along with illustrative examples that make the problem definitions easy to grasp. Its structured presentation of inputs and expected outputs helps readers understand the algorithmic goals before diving into solutions, making it a solid reference for anyone exploring these classic programming challenges.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc361-1" rel="noopener noreferrer"&gt;Zeckendorf Representation&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The write-up presents a memory-efficient and well-explained Perl implementation for computing the Zeckendorf representation, cleverly using only two Fibonacci values at a time and clear test examples to illustrate the logic. Its structured presentation and readable code make it a helpful reference for anyone interested in elegant algorithmic Perl solutions.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc361-2" rel="noopener noreferrer"&gt;Find Celebrity&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The celebrity finder solution delivers a clear and self-contained Perl implementation that uses readable grep-based checks to identify the celebrity by row and column conditions, backed by several solid test cases illustrating correctness. Its straightforward logic and minimal reliance on external modules make it both accessible and practical for Perl programmers exploring matrix-based algorithms.&lt;/p&gt;

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

&lt;p&gt;The Perl solutions for the challenge combine clear logic with well-commented, idiomatic code that makes both the Zeckendorf representation and celebrity detection easy to follow. The step-by-step explanations and practical test cases offer a solid, educational reference for Perl programmers engaging with classic algorithmic tasks.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/02/The_Weekly_Challenge_361__Celebrity_Zeckendorf.html" rel="noopener noreferrer"&gt;Celebrity Zeckendorf&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post offers a clear, language-agnostic walk through both challenge tasks, computing the Zeckendorf representation and finding a celebrity in a matrix, with working code in several languages and readable explanations of the greedy Fibonacci strategy and set-based filtering. Its inclusion of multiple idiomatic implementations makes it a practical and educational read for programmers exploring these classic algorithmic problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-representing-a-celebrity-1cfe"&gt;Representing a celebrity&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post delivers clear, well‑structured Python (with Perl) implementations for both the Zeckendorf representation and celebrity detection tasks, showcasing thoughtful logic and solid error handling. The explanations and example inputs/outputs make the solutions easy to understand and follow, making it a useful resource for anyone practicing these classic algorithmic problems.&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/02/dlxxxviii-17-great-cpan-modules.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/02/dcxxv-metacpan-weekly-report.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: Code-reading and Open Source contribution&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;March 3, 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>
    <item>
      <title>Perl 🐪 Weekly #760 - Async Perl</title>
      <dc:creator>Gabor Szabo</dc:creator>
      <pubDate>Mon, 16 Feb 2026 04:06:46 +0000</pubDate>
      <link>https://dev.to/szabgab/perl-weekly-760-async-perl-pfi</link>
      <guid>https://dev.to/szabgab/perl-weekly-760-async-perl-pfi</guid>
      <description>&lt;p&gt;Originally published at &lt;a href="https://perlweekly.com/archive/760.html" rel="noopener noreferrer"&gt;Perl Weekly 760&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;Perl's asynchronous ecosystem continues to grow, enabling developers to build non-blocking, responsive applications with ease. Modules like &lt;a href="https://metacpan.org/pod/IO::Async" rel="noopener noreferrer"&gt;IO::Async&lt;/a&gt;, async features in &lt;a href="https://metacpan.org/pod/Mojolicious" rel="noopener noreferrer"&gt;Mojolicious&lt;/a&gt;, and helpers for asynchronous database operations (such as &lt;a href="https://metacpan.org/pod/DBIx::Class::Async" rel="noopener noreferrer"&gt;DBIx::Class::Async&lt;/a&gt;) allow event-driven designs, background tasks, and futures/promises, making high-throughput web services, real time APIs, and streaming pipelines straightforward to implement.&lt;/p&gt;

&lt;p&gt;Projects like &lt;a href="https://metacpan.org/dist/PAGI" rel="noopener noreferrer"&gt;PAGI&lt;/a&gt; and &lt;a href="https://metacpan.org/pod/PAGI::Server" rel="noopener noreferrer"&gt;PAGI::Server&lt;/a&gt;, now with HTTP/2 support, and &lt;a href="https://metacpan.org/pod/Thunderhorse" rel="noopener noreferrer"&gt;Thunderhorse&lt;/a&gt; showcase how Perl can handle multiple connections efficiently while keeping code clear and maintainable. Together, these tools make it easier to build responsive, scalable, and maintainable applications, all while retaining the expressive, pragmatic style that continues to define Perl.&lt;/p&gt;

&lt;p&gt;With each new module and project, Perl's potential in the modern, concurrent world keeps expanding, the best is yet to come.&lt;/p&gt;

&lt;p&gt;A small milestone reached with this issue, my &lt;strong&gt;200th&lt;/strong&gt; edition. Enjoy rest of the newsletter and stay safe.&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-gsp-announce" rel="noopener noreferrer"&gt;Join us for TPRC 2026 in Greenville, SC!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;It’s great to see the announcement for The Perl and Raku Conference 2026 (TPRC) taking shape, with registration opening and plans underway for a vibrant community gathering in Greenville, SC this June. The post reinforces the value of bringing Perl and Raku developers together for talks, workshops, and networking. A highlight on the opensource calendar that strengthens the ecosystem and connects contributors across projects.&lt;/p&gt;

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

&lt;p&gt;In This week in PSC 215, the Perl Steering Council covered a deep discussion around legal identifier name restrictions for security without reaching consensus and planning to broaden the conversation beyond p5p, tackled the challenge of an absent maintainer for the dual‑life Encode module, and decided to hold off on merging larger PRs like magic v2 and attributes v2 due to the upcoming freeze in this release cycle. These updates give a clear snapshot of ongoing governance and core maintenance decisions within the Perl project.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/saif/2026/02/poplar-decisions.html" rel="noopener noreferrer"&gt;Poplar Decisions&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post reflects on the challenge of rational decision‑making with a quirky, human‑centred anecdote, weaving in the idea that structured data models, like decision trees, can help bring objectivity to complex choices. The post’s blend of storytelling and commentary on data structures adds a thoughtful and entertaining perspective for programmers thinking about reasoning and modeling in code.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://github.com/manwar/Mojo-with-WebSocket" rel="noopener noreferrer"&gt;Mojo with WebSocket&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;A practical real‑world example of using Mojolicious’ built‑in WebSocket support to build an interactive online chat app in Perl, complete with multiple server variants and integration options like Redis or PostgreSQL. The repository showcases how easily Mojolicious can handle real‑time bidirectional communication with WebSockets, making it a solid reference for Perl developers exploring event‑driven web apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blogs.perl.org/users/max_maischein/2026/02/coding-agents-using-anthropic-and-zai---presentation-at-the-german-perl-workshop-2026.html" rel="noopener noreferrer"&gt;Coding Agents using Anthropic and z.ai - presentation at the German Perl Workshop 2026&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post previews Max's talk at the German Perl Workshop 2026, exploring how modern AI coding agents from Anthropic and z.ai can assist with Perl development, what differences exist between the models, and tips for getting them to write good code. It’s an engaging look at practical uses of agentic AI in real world programming contexts, a timely topic for anyone curious about AI‑assisted development.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/damil/beautiful-perl-feature-local-for-temporary-changes-to-global-variables-4ejk"&gt;Beautiful Perl feature: 'local', for temporary changes to global variables&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This article highlights one of Perl’s unique strengths, the local keyword, showing how it enables temporary, dynamic changes to global variables without permanent side effects. With clear examples manipulating %ENV, special Perl variables and even symbol table entries, it makes a compelling case for using local judiciously to solve real world problems that lexical scoping alone can’t.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/jjn1056/pagiserver-now-with-http2-37gf"&gt;PAGI::Server, now with HTTP/2!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The announcement of PAGI::Server 0.001017 highlights experimental HTTP/2 support built on nghttp2, bringing both cleartext h2c and TLS‑based HTTP/2 to Perl web services with automatic protocol detection and solid h2spec compliance. The write‑up explains why HTTP/2 matters for backend performance and modern use cases like gRPC and multiplexed APIs, and it also outlines other quality‑of‑life improvements and operational fixes in the release.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://www.reddit.com/r/perl/comments/1r10dfk/black_box_test_generator_version_028_released/" rel="noopener noreferrer"&gt;Black box test generator version 0.28 released&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Version 0.28 of App::Test::Generator, the black‑box test case generator, has just been released with improved schema extraction and test generation accuracy, tightening detection of getter/setter methods and better typing in generated tests. These enhancements make it easier to produce honest, robust fuzz and corpus driven test harnesses from your Perl modules.&lt;/p&gt;

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

&lt;p&gt;Run::WeeklyChallenge is a small but useful CPAN module that helps you automate running solutions to challenges from The Weekly Challenge site by passing one or more sets of JSON‑formatted inputs to your code. It cleanly wraps your solution logic and input schema validation, making it easier to test and reuse challenge solutions programmatically.&lt;/p&gt;

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

&lt;p&gt;DBIx::Class::Async is a modern asynchronous wrapper for DBIx::Class that allows non‑blocking database operations in Perl, keeping the familiar DBIC interface while running queries in the background via futures. The latest update brings several improvements: caching is now disabled by default (TTL 0), automatic detection of non-deterministic SQL functions (like NOW() and RAND()) ensures safe bypass of caching, cache invalidation on update/delete operations is more precise using primary keys, and count() queries are no longer cached to guarantee accurate row counts. These enhancements make asynchronous DBIC usage both safer and more reliable.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://metacpan.org/dist/Syntax-Highlight-Engine-Kate" rel="noopener noreferrer"&gt;Syntax::Highlight::Engine::Kate&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Syntax::Highlight::Engine::Kate provides Perl programs with robust syntax highlighting using the same engine as the Kate editor. The latest update fixes Issue #23 in Template.pm: the testDetectSpaces() regex was corrected, ensuring only spaces and tabs are matched and improving number highlighting in Perl and other languages. The test suite expected outputs were also updated to reflect the corrected highlighting behavior.&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-361" rel="noopener noreferrer"&gt;The Weekly Challenge - 361&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Welcome to a new week with a couple of fun tasks "Zeckendorf Representation" and "Find Celebrity". 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-360" rel="noopener noreferrer"&gt;RECAP - The Weekly Challenge - 360&lt;/a&gt;
&lt;/h3&gt;

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

&lt;h3&gt;
  
  
  &lt;a href="https://deadmarshal.blogspot.com/2026/02/twc360.html" rel="noopener noreferrer"&gt;TWC360&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This write-up delivers straightforward, idiomatic Perl solutions for both text justification and word sorting, showing practical use of fc for case-insensitive comparisons and clear subroutine design. The concise code examples make the challenge solutions easy to follow and apply.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://raku-musings.com/full-circle.html" rel="noopener noreferrer"&gt;Full Circle&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this post, an effective solution to The Weekly Challenge #360 is given, with beautiful examples showing how Raku can be implemented for text justification and sorting as the output. Most of the explanations are fairly short, but they are clearly defined, giving lots of examples; and, they consider the idiomatic usage of Raku's features to make the output readable and helpful.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/boblied/pwc-360-pertaining-to-a-subtlety-of-sorting-39b4"&gt;Pertaining to a subtlety of sorting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This article offers a thoughtful take on the Word Sorter task from PWC 360, with a clear explanation of the case-insensitive sort and an efficient Perl solution using a Schwartzian transform. The benchmarking insight and attention to Unicode case folding nuance show both practical coding skill and depth of understanding.&lt;/p&gt;

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

&lt;p&gt;This write-up clearly presents both Text Justifier and Word Sorter tasks with simple, idiomatic Perl and Raku solutions that showcase practical string manipulation and sorting techniques. The inclusion of multiple examples and cross-language snippets makes the challenge approachable and highlights the expressive power of each language.&lt;/p&gt;

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

&lt;p&gt;This post showcases clear, idiomatic Perl solutions for both the Text Justifier and Word Sorter tasks, with one‑liner examples and concise logic that demonstrate practical use of integer arithmetic and case‑preserving sorting. The included sample inputs and outputs make the behavior easy to follow and verify.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://awesomepowerofgenetics.blogspot.com/2026_02_08_archive.html#3048441554558263005" rel="noopener noreferrer"&gt;This is exactly the sort of justification that I was looking for&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post methodically implements both Text Justifier and Word Sorter solutions for PWC 360 in clear Perl code, showing careful step-by-step padding logic and idiomatic sorting. The explanations of how the examples are handled make the approach easy to follow and instructive for readers.&lt;/p&gt;

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

&lt;p&gt;The post offers well‑structured Perl solutions that clearly implement both text justification and alphabetical word sorting with idiomatic constructs and practical tests. The use of case‑preserving sorting and centered padding logic demonstrates good command of Perl’s core features and makes the solutions easy to follow and reuse.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://packy.dardan.com/b/j8" rel="noopener noreferrer"&gt;Word Crimes are Justified&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;An excellent and clear walk-through of the Perl Weekly Challenge tasks, with well-structured multi-language solutions and thoughtful explanations that make the text justification and word sorting problems easy to follow. The blend of Perl, Raku, Python, and Elixir examples shows both depth and versatility of approach.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="http://ccgi.campbellsmiths.force9.co.uk/challenge/360" rel="noopener noreferrer"&gt;Padding and sorting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The post presents the Text Justifier and Word Sorter tasks clearly with well-explained inputs and desired outputs, giving readers a solid grounding in the problem definitions. The examples are practical and show the expected string centering and alphabetical ordering behavior in a way that supports straightforward implementation.&lt;/p&gt;

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

&lt;p&gt;This post demonstrates a practical and idiomatic Perl solution by leveraging String::Pad for Text Justifier, showcasing how using existing modules can simplify challenge tasks. The concise examples with clear input/output make it easy to grasp the task mechanics and verify correctness.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://reiniermaliepaard.nl/pwc/index.php?id=pwc360-2" rel="noopener noreferrer"&gt;The Weekly Challenge - 360: Word Sorter&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This write-up delivers a succinct and idiomatic Perl solution to the Word Sorter task, using a case-insensitive sort and clean split/grep logic that keeps words unchanged while ordering them alphabetically. The included test cases make the behavior clear and easy to verify.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://blog.firedrake.org/archive/2026/02/The_Weekly_Challenge_360__Justify_the_Words.html" rel="noopener noreferrer"&gt;Justify the Words&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This post delivers clear and well-commented solutions to both Text Justifier and Word Sorter tasks from The Weekly Challenge 360, using concise Lua, Raku, Perl and other language examples with practical explanations of key steps like centered padding and case-insensitive sorting. The author’s discussion of different implementation strategies highlights thoughtful coding decisions that make the techniques accessible and educational for readers.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/simongreennet/weekly-challenge-padding-and-sorting-3oj8"&gt;Padding and sorting&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This write‑up walks through both the Text Justifier and Word Sorter tasks from The Weekly Challenge 360 with clear Python and Perl solutions, showing well‑structured logic for string padding and case‑insensitive sorting. The practical examples and side‑by‑side language implementations make the techniques easy to understand and apply.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://dev.to/vinodk89/perl-weekly-challenge-360-perl-power-two-tiny-scripts-big-learning-2o61"&gt;Perl Power: Two Tiny Scripts, Big Learning!&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;This write‑up distills both Text Justifier and Word Sorter solutions into clean, minimal Perl scripts with clear logic for padding and sorting, and emphasizes solid test‑driven development and edge‑case handling. The examples and explanation of core techniques make it both beginner‑friendly and technically sound.&lt;/p&gt;




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

&lt;h3&gt;
  
  
  &lt;a href="https://rakudoweekly.blog/2026/02/09/2026-06-cod-yn-gymraeg/" rel="noopener noreferrer"&gt;2026.06 CÔD YN GYMRAEG&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/02/dlxxxvii-10-great-cpan-modules-released.html" rel="noopener noreferrer"&gt;Great CPAN modules released last week&lt;/a&gt;.&lt;/p&gt;




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

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

&lt;h3&gt;
  
  
  &lt;a href="https://chat.whatsapp.com/LRrkZsSRDvGLLwppyLnKHy" rel="noopener noreferrer"&gt;WhatsApp&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Do you use WhatsApp? Join the Perl Maven chat group!&lt;/p&gt;




&lt;h2&gt;
  
  
  Events
&lt;/h2&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, 2025&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, 2025&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>
