DEV Community

Perl πŸͺ Weekly #780 - TRF

Hi there,

The Raku Foundation (TRF) was officially announced last month, as suggested in the post by Damian Conway. I am super happy for the core team behind Raku. Does that mean there is no more The Perl and Raku Foundation (TPRF)? Now that TRF is live, it would make sense to go back to the good old The Perl Foundation (TPF). I don't know the technical details yet, but I think it is a great move. Now Perl and Raku can live in their own worlds without any interference.

It is good to see Damian promoting Raku. If I am not mistaken, even Larry was once involved in the project. For all Perl fans, very soon there will be a major release, Perl v5.44. I am eagerly waiting for it.

Enjoy rest of the newsletter.

-- Your editor: Mohammad Sajid Anwar

Announcements

perl-lsp version 0.6.0 by Veesh Goldman

The version 0.6.0 is now available on crates.io & in both VS Code and The Zed Editor. This is a huge milestone for the Perl-LSP project with some great improvements such as smart type narrowing for block variables, smart inherited method renewal using inherited methods, and different heatmap cli for analysing function complexity and usage.

Articles

Automate Perl module testing with GitHub Actions by Dragos Trif

This is a very handy guide that explains how to set up a CI/CD pipeline for your Perl projects via GitHub Actions. The guide elaborates on what steps to follow so that when you push code, all of the projects automatically run tests against several different Perl versions and several different operating systems. This will allow developers to check for compatibility on multiple platforms, while also providing developers with a way to keep their code at high quality with as little manual work as possible.

How One Pull Request Took App::HTTPThis to Version 1.0 by Dave Cross

A simple pull request intended to improve the honesty of a startup message caused a rewrite of the architecture for App::HTTPThis. The original binding configuration was set to all interfaces, but by modifying it to use 127.0.0.1, and providing targeted support for the Windows Subsystem for Linux (WSL), this tool has come a very long way to reach a very solid, secure, cross-platform milestone for release version of 1.0.0.

Reading UTF-8 at GB/s by Christian Hansen

Christian highlights a bottleneck in Perl's read operator regarding how it counts UTF-8 sequences and introduces a high-performance workaround via Unicode::UTF8::read_utf8. By reading and validating UTF-8 streams in a single pass, this new feature achieves impressive speeds-delivering 7x to 16x faster throughput than native reads.

The AI Revolution is Validating 40 Years of Perl Philosophy by Randal Schwartz

Randal examines the relationship between the emergence of large language models and Larry Wall’s original concept of Perl as a language based on context (semiotics) and language. The shift toward a semantic/conceptual view of programming allows AI systems to start operating based on principles that have been used by Perl programmers all along, rather than forcing us to program like mathematical devices.

Web SOAP and Perl by Mohammad Sajid Anwar

This article investigates both the past and the present of using Perl to connect to SOAP (Simple Object Access Protocol) web services. The article discusses how useful an existing SOAP::Lite module is for creating applications that can still be used today by legacy companies, along with performance related suggestions when working with XML payloads, WSDL files, and options for building robust API integration using modern technology.

CPAN JSON::JSONFold by Yair Lenga

A fresh CPAN module that helps you read compact JSON and create pretty printed representations of those same objects. JSON::JSONFold does this by building on top of existing serialisers to fold small/simple structures onto a single line, while also aligning grid-like data.

The Weekly Challenge

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

The Weekly Challenge - 381 by Mohammad Sajid Anwar

Welcome to a new week with a couple of fun tasks "Same Row Column" and "Smaller Greater Element". If you are new to the weekly challenge then why not join us and have fun every week. For more information, please read the FAQ.

RECAP - The Weekly Challenge - 380 by Mohammad Sajid Anwar

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

TWC380 by Ali Moradi

In this post, you'll find extremely concise and idiomatic code solutions written in Perl. Utilising the many powerful built-in list functions in Perl's List::Util module (e.g., max() and sum0()), as well as utilising clever array slicing to achieve succinctness, Ali has written very elegant and extremely efficient code that solves each of the two assigned problems in no more than just a few lines of code and makes use of the modules' built-in test coverage features.

Reverse Sum by Arne Sommer

An excellent, organised demonstration of Raku's unique language capabilities for Weekly Challenge #380. Author beautifully combines native features, including Bag data structures and state variables, by developing clear, practical solutions. In addition, Arne also provides thorough testing to validate the logic correctly.

Perl Weekly Challenge: Week 380 by Jaldhar H. Vyas

This post presents a very interesting and informative comparison of Perl and Raku in regard to Weekly Challenge #380 by visually demonstrating some of the advanced features of the two programming languages, namely by using the (s///ger) operator as a frequency counter in the same manner in both Perl and Raku and providing an excellent example of how Perl's built in index function has recently improved, allowing for an easier way of indexing various items.

Reverse Frequencies by Jorg Sommrey

The blog post does an amazing job of explaining weekly challenge #380 technically through comparing the two very different programming paradigms of Perl and J. The use of multi-dimensional hashes in Perl gives an aesthetically pleasing and simple way to organise information into categories, whereas the functional style of J provides a mathematically elegant solution for dealing with arrays and their indices, as well as character mapping.

The Weekly Challenge 380 by Lubos Kolouch

In this article, solutions presented were derived by showing the strengths of each language by providing a clear and technical comparison of how Perl's regex-based string manipulation can be contrasted with the expressive nature of Python's list comprehensions and the built-in dictionary structures.

Perl Weekly Challenge 380 by W Luis Mochan

W. Luis MochΓ‘n's innovation in reducing the complexity of frequency mapping, to succinct "1.5-liner" executable format as well as clever strategy on Task 1 all contribute to his demonstrated skills at successfully combining structural simplicity and robustness of execution presented via use of multiple try/catch validation blocks, to form an elite standard for executing Perl hacks.

Watch Your Zeros, and Don’t Get Off by One! by Matthias Muth

Matthias takes the opportunity to highlight edge cases, to demonstrate how to use case insensitive file name matching (using the fc function) instead of zero based indexing and loop multipliers, and to use an innovative way of adding a safety net around the injection of zeros to avoid producing undefined exceptions.

Just like honey, baby, from the bee by Packy Anderson

Packy gives a detailed and multilingual look at Weekly Challenge #380 with his solutions in Raku, Perl, Python and Elixir. His use of "bag" data structures in all four languages shows how the same underlying frequency logic is implemented across those four languages, and also provides important technical details about special edge case code requirements for Raku, such as preventing -Inf math results.

Frequencies and degrees by Peter Campbell Smith

Peter utilising natively fast ASCII byte operations and provides a very elegant and performance-based method to solving weekly challenge. With the help of integer array indices created through the ord() function instead of performing heavier hash lookups, Peter produces an outstandingly fast frequency counter.

Reverse the Frequency, Kenneth by Roger Bell West

The post demonstrates the use of both idiomatic Perl and a clever implementation of it in PostScript. Roger's ability to transfer algorithmic logic between these two very different styles of programming (high level hashes for frequency counting in perl, to low level stack manipulations and dictionary management for postscript) shows great creativity, as well as the experience to structurally solve programming problems.

The race car has rhythm by Simon Green

In the post, Simon has shown how the multiple paradigms can be assimilated into one cohesive framework of the same operational flow; ie. Using Python's high-level native collection's Counter module, one can progress in a relatively seamless manner all the way down to Perl's low-level core tools using split and explicit hash manipulation techniques.

Rakudo 2026.26 Release #194 by Elizabeth Mattijsen

Weekly collections

  • NICEPERL's lists by Miguel Prz
  • Great CPAN modules released last week
  • MetaCPAN weekly report

Events

  • Perl development using AI (online) July 8, 2026
  • Paris.pm monthly meeting July 8, 2026
  • Purdue Perl Mongers (HackLafayette) - TBA July 8, 2026
  • Boston Perl Mongers virtual monthly July 14, 2026

You joined the Perl Weekly to get weekly e-mails about the Perl programming language and related topics. Want to see more? See the archives of all the issues. Not yet subscribed to the newsletter? Join us free of charge!

(C) Copyright Gabor Szabo

The articles are copyright the respective authors.

Comments

No comments yet. Start the discussion.