DEV Community

Gabor Szabo
Gabor Szabo

Posted on • Originally published at perlweekly.com

Perl Weekly #765 - Testing in Perl and AI

Originally published at Perl Weekly 765

Hi there!

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!

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.

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.


Personally I love testing. It is coding with very fast feedback that helps me stay sane. More or less :-)

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.

Course attendance is free of charge.

The presentations will be recorded and will be uploaded to the Code Maven Academy where they will be available to paying subscribers.

I hope I'll see many of you and your co-workers at the course. Register here!

Enjoy your week

--
Your editor: Gabor Szabo.

Articles

Perl, the Strange Language That Built the Early Web

A bit of nostalgy and a lot of good insights.

TPRC Talk Submission Deadline extended

The new deadline is April 21, 2026. Go and submit your talk proposal!

Still on the [b]leading edge

The story of a crazy bug. Somewhere. Not in my code. discuss

ANNOUNCE: Perl.Wiki V 1.42 & 2 CPAN::Meta* modules

Beautiful Perl feature: reusable subregexes

Stop Writing Release Notes: Accelerate with AI

Help testing DBD::Oracle


Discussion

Getting a 500 error on my website when running CGI script

Or, how to go from Perl v5.005 to Perl v5.32.1 in one step.

PetaPerl - reimplementation of perl

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 read the documentation and see the slides. I am rather excited!

Ambiguous use of ${x} resolved to $x

Code with winter clothes...


Perl and AI

Six Ways to Use AI Without Giving Up the Keys

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

experiments with claude, part ⅳ: dzilification of MIME-Lite

experiments with claude, part ⅴ: ClaudeLog

experiments with claude, part ⅲ: JMAP-Tester coverage


Grants

Maintaining Perl 5 Core (Dave Mitchell): February 2026

PEVANS Core Perl 5: Grant Report for February 2026

Maintaining Perl (Tony Cook) February 2026


Perl

This week in PSC (218) | 2026-03-16


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 Lance Wicks.

The Weekly Challenge - 366

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 FAQ.

RECAP - The Weekly Challenge - 365

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.

A Token Alphabet

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.

PWC365, Task 2 Valid Token Counter

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.

Perl Weekly Challenge: Week 365

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.

Sum Tokens and Count Digits

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.

The Weekly Challenge 365

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.

regexps to rule them all!

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.

Perl Weekly Challenge 365

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.

Are Post Alphabits a Token Breakfast Cereal?

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.

Splitting and Summing and Checking and Counting

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.

I'll be the smartest bird the world has ever seen!

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.

Lots of counting

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.

The Weekly Challenge - 365: Alphabet Index Digit Sum

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.

The Weekly Challenge - 365: Valid Token Counter

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.

The Weekly Challenge #365

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.

Alphabet Digit Counter Token

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.

Counting the index

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.


Weekly collections

NICEPERL's lists

Great CPAN modules released last week;
MetaCPAN weekly report;
StackOverflow Perl report.


Event reports

28th German Perl Workshop (2026, Berlin)

It sounds like the German Perl Workshop became a replacement to the mostly defunct YAPC::EU.

German Perl Workshop 2026 in Berlin

The usual very detailed review by domm.


Events

Perl Maven online: Testing in Perl - part 1

March 26, 2026

Perl Toolchain Summit 2026

April 23-26, 2026

The Perl and Raku Conference 2026

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


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.

Top comments (0)