Perl Weekly
Issue #739 - 2025-09-22 - Announcing Dancer2 2.0.0
latest | archive | edited by Gabor Szabo
|
Hi there!
I used Perl Dancer for many projects, I wrote about it a lot, I even wrote a book about it, so I am quite glad that a new major version was released. Thanks to all the contributors, including Jason A. Crome, Mikko Koivunalho, Yanick Champoux, Karen Etheridge, Sawyer X!
Enjoy your week!
Happy and peacefull New Year to all our Jewish readers, Shana Tova!
Gabor Szabo
|
|
|
Announcements
|
|
The annual Toronto Perl Mongers lightning talks will be held (virtually) this Thursday. (ps. It is also listed among all the other events at the bottomg of the newsletter.)
|
|
|
Articles
|
|
Discussion
|
by Dean Hamstead (DJZORT)
A monorepo is a software-development strategy in which the code for a number of projects is stored in the same repository. Dean is interested in hearing about tools and approaches that have been used with Perl.
|
|
|
Have I already mentioned one my many pet peeves, that I recommend never to use $a and $b outside of sort. Not even in small examples.
|
|
|
|
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.
|
by Mohammad Sajid Anwar (MANWAR)
Welcome to a new week with a couple of fun tasks "Duplicate Removals" and "Ascending Numbers". 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.
|
|
|
by Mohammad Sajid Anwar (MANWAR)
Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Max Diff" and "Peak Point" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.
|
|
|
by Ali Moradi
The approaches for both tasks are correct under the assumptions and seem efficient for modest array sizes. The tasks are simple but the solutions are concise and cover many relevant kinds of inputs in the examples.
|
|
by Arne Sommer
The solutions are clear, correct and concise, making good use of Raku’s features. They’re well illustrated with examples, easy to follow and demonstrate a solid understanding of the problem.
|
|
by Bob Lied
The solution is much more efficient than brute force and strikes a good balance between simplicity and performance. It uses sound reasoning (extremes drive large products), handles special cases (negatives, zeros) and significantly improves scalability.
|
|
by W Luis Mochan
This is an excellent blog post featuring top-tier solutions. It demonstrates a deep understanding of the problems and chooses the most efficient algorithms possible. The code is not just correct but is also elegant and a pleasure to read. The solutions for both tasks are production-ready and would scale efficiently to large inputs.
|
|
by Matthias Muth
These solutions are clear, correct and efficient. Max Diff avoids brute force by systematically covering all sign combinations, reducing the problem to a handful of candidate checks after sorting—showing solid algorithmic reasoning and thorough testing. Peak Point is expressed elegantly in a single line, making excellent use of Perl’s expressive features while remaining efficient. Together, the two tasks balance rigor and readability, demonstrating both deep problem understanding and concise, idiomatic coding style.
|
|
by Packy Anderson (PACKY)
This is an excellent, well-written technical blog post. It successfully transforms a seemingly mundane task—calculating a leaderboard diff—into an engaging narrative that showcases the power and elegance of modern Perl. The post is technically sound, pedagogically effective and demonstrates a strong software engineering mindset. It's a perfect example of how to write about code: it explains the why, not just the how.
|
|
by Peter Campbell Smith
Solutions are technically correct, robust and well-engineered. They exemplify a pragmatic approach to problem-solving: prioritizing clarity and guaranteed correctness over premature optimization. The code is modern, idiomatic Perl and is a pleasure to read.
|
|
by Robbie Hatley
Solutions are technically correct and functionally complete, successfully solving both challenges. The code is structured, well-documented and demonstrates a solid understanding of the problem requirements. However, the approach to Task 1 raises significant concerns regarding efficiency and scalability, which heavily impacts the overall assessment.
|
|
by Roger Bell West (FIREDRAKE)
Solutions are solid—clear, correct, straightforward and great for demonstrating the basic logic. For tasks of modest size, they’ll work fine. For larger inputs, they’d be slower than more optimized ones. His decision to trade off some performance for clarity and ease of implementation is reasonable.
|
|
by Simon Green
The code is straightforward and easy to follow, making the logic transparent even for less experienced readers. Solutions in both Python and Perl show versatility and consistency in approach. The post acknowledges the brute force nature and performance limitations, which shows awareness of algorithmic complexity.
|
|
by Torgny Lyon
Solutions are well-structured, demonstrating a solid understanding of the tasks and Perl's capabilities. They are both elegant and efficient, providing a clear and direct answer to the problem.
|
|
Weekly collections
|
|
Events
|
|
|
|
|
You know, you could get the Perl Weekly right in your mailbox. Every Week. Free of charge!
|