DEV Community

Gabor Szabo
Gabor Szabo

Posted on • Originally published at perlweekly.com

Perl πŸͺ Weekly #754 - New Year Resolution

Originally published at Perl Weekly 754

Hi there,

Happy New Year, everyone (albeit a belated one).

Any New Year's resolutions this time? For me, none. I'm too old for such customs. However, I always have a full plate, which is nice.

Normally, you expect the new year to bring new energy but that rarely happens. Instead you often already feel tired from a busy schedule, gift shopping, and attending parties. How was yours?

I luckily had an extended break this time, so I used it to work on my upcoming book on DBIx::Class. I have a habit of getting deep into the skin of a subject, and this time was no different. When I shared updates on social media, I received many positive reviews. One suggestion to add asynchronous operation support to DBIx::Class. I must admit that before this book, I had barely touched it, although my current work place uses it extensively. In the past, I mostly worked with an in-house ORM written in Perl.

While working on the book, I decided to share my initial draft for supporting async operations in DBIx::Class and released DBIx::Class::Async on the first day of 2026. It's still experimental, but I received a few suggestions from big shots, which led to another quick update to address their feedback. I wrote a blog post to introduce the new creation and am working on another post to discuss further improvements since the initial release. I had hoped to have it ready for this newsletter, but not everything goes according to plan. Never mind - in a couple of days - I will share it with you.

Two major blockers I encountered during my research were transactions and searches with prefetch. I will continue working on these until I find a satisfactory solution. I also come across another new distribution on the same subject, DBIx::Quick. I'm happy to see the sudden renewed interest in ORM in general.

Today is my first working day of 2026, so I'm very excited. Please share your experiences.

Enjoy rest of the newsletter.

--
Your editor: Mohammad Sajid Anwar.

Announcements

The Underbar, episode 8

As preparations are underway for the Perl Toolchain Summit 2026, this short episode is the last excerpt recorded during PTS 2025 (as a tangent during the CPAN Testers interview, published as episode 6). BooK starts by explaining the selection process for the Perl Toolchain Summit and some of the history, and then Doug, Ruth, Breno and Ferki reminisce about what makes the event so special.


Articles

App::HTTPThis: the tiny web server I keep reaching for

Dave shares his long-time favorite tool for static site work: App::HTTPThis. This Perl module is a friction-free command-line web server that instantly serves any directory over HTTP, perfect for testing links, assets, and real browser behavior without the overhead of Apache or nginx.

DBIx::Class::Async

A gentle tntroduction to DBIx::Class::Async. Please share your suggestions.

Episode 9: Perl, the Language That Refuses to Die (And Honestly, Good for It)

A very interesting read, unfortunately it is behind Medium's paywall, marked as members only.

jq-lite: A jq Alternative for Legacy and Restricted Systems

jq-lite is a jq-compatible JSON processor written in pure Perl. It is designed for legacy, restricted, and minimal environments where installing jq is not possible.


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 - 355

Welcome to a new week with a couple of fun tasks "Thousand Separator" and "Mountain Array". 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 - 354

Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Min Abs Diff" and "Shift Grid" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.

MAD Shift

The post showcases excellent problem-solving skills and clear pedagogical explanations. The implemented code for the first challenge and the conceptual solution for the second are both technically sound and well-justified.

Shifted Differences

This is a competent Perl implementation that demonstrates strong algorithmic thinking, particularly for the grid rotation problem. Jorg shows good understanding of Perl's array manipulation capabilities and mathematical optimisation.

Perl Weekly Challenge 354

Expert-level PDL implementation that leverages specialized numerical libraries for concise, high-performance solutions. This approach is optimal for numerical computing contexts but requires deep PDL knowledge.

Min Abs Diff Shift Grid. What??

Matthias demonstrates both theoretical knowledge (complexity analysis) and practical skill (performance optimisation), making this an exemplary technical solution.

Some Grids

This is a well-written and highly educational post. Packy successfully demonstrates how to solve algorithmic problems using the distinct styles of different programming languages. The solutions are correct, clearly explained, and follow good practices.

Mad numbers and shifty grid

Peter demonstrates a pragmatic, straightforward approach to solving the weekly challenge #354. The code is clear, functional, and focuses on delivering correct results with minimal complexity.

The Weekly Challenge #354

This solution set takes a functional but brute-force approach to the problems. While correct, it prioritizes straightforward implementation over algorithmic optimisation.

Min Grid Diffs the Shift

This is a sophisticated, well-optimized solution that correctly identifies and implements the most efficient algorithms for both challenges. Roger demonstrates strong understanding of algorithmic complexity and language-specific optimizations.

New Year, New Challenges

High-quality, production-ready solutions with excellent algorithm choices, clean implementations, and thoughtful language-specific optimizations. Simon demonstrates strong command of both algorithmic thinking and practical coding.


Rakudo

2025.52 Release #188 & State of the Onion


Weekly collections

NICEPERL's lists

Great CPAN modules released last week.


The corner of Gabor

A couple of entries sneaked in by Gabor.

The new pull-request challenge (club)

Recently I saw that the PullRequest.Club closed on January 1st. It's a pity as it was a good idea. But don't worry, the new PRC is here. Less organized but here. The challenge is to send a PR to any CPAN module once a week and share the link to it on this issue. (see my first comments on that issue). If you have never contributed to an open source project or if you have never sent a PR, don't worry. I organize live online sessions where I demonstrate the whole process as I am working on a project. You can watch. You can ask question. You can learn. Then you can implement and send your own PRs. Check the events here!


Events

Perl Maven online: Live Open Source contribution

January 08, 2025

Boston.pm - online

January 13, 2025

Perl Maven online: Live Open Source contribution

January 24, 2025

German Perl/Raku Workshop 2026 in Berlin

March 16-18, 2025


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)