Perl 🐪 Weekly #784 - Perl Catalyst
Originally published at Perl Weekly 784 Hi there, I remember the release of Catalyst, MVC web application framework in 2005. It was the first time, I heard about MVC. Unfortunately, I never got to work with it until I joined my current work place. We have very well crafted application using Catalyst. The creator of Catalyst, John Napiorkowski, recently shared his plan to revisit Catalyst and named the project (working name), CatalystNext. The details of the project is shared in the post. I am going to use this opportunity to learn Catalyst from zero. In case you missed, we just had two maintenance releases, Perl v5.40.5 and Perl v5.42.3. The highlights of both releases was security patches, CVE-2026-8376, CVE-2026-57432 and CVE-2026-13221. Thank you core team members. I am a big fan of experimental class feature of latest Perl. Recently I came across a documentary titled, The Java Story. It brought back some old memories when I was offered to pick the languages: Perl and Java. No prize for the guessing the answer, I chose Perl. After watching the documentary, I decided to checkout how experimental class deals with Encapsulation, Reflection and Immutable Class. Please checkout the blog post below where I shared my findings. I came across this talk, Regex Optimization From Hours to Second by Deven Corzine. I had to watch it few times to get my head around it. Talks like this make attending Perl conference worth it. Another talk that caught my eyes, All About Test2 by Chad Graham. Thanks to TPRC team for sharing the video. Another exciting news, pperl, now has Perl v5.44 as compatibility target. Please checkout the details in the post. Enjoy rest of the newsletter. -- Your editor: Mohammad Sajid Anwar. Announcements Perl v5.40.5by Steve Hay The maintenace release of Perl v5.40.5 with security patches. Perl v5.42.3by Steve Hay The maintenace release of Perl v5.42.3 with security patches. ANNOUNCE: Perl.Wiki V 1.51, CPAN::MetaCurator V 1.27, etcby Ron Savage The highlight of latest release of Perl.Wiki is CPAN::MetaCurator v1.27. Articles The Future Isn’t Evenly Distributedby Dave Cross By analysing the request for support on a 25-year-old Perl CGI script that he recently got, Dave Cross explains why developers’ apps are usually lagging behind in technology. Developers should realise that technological advancements do not solely depend on innovations in technology but also on economic factors. Indeed, businesses usually do not require the latest tools, they seek a way to make yesterday’s solutions work today. Immutable Classby Mohammad Sajid Anwar In this post, I analyse the treatment of immutability in contemporary Perl by comparing and contrasting the explicit runtime optimisation provided by Moose to the experimental class features offered by core Perl concerning automatic enforcement of immutability from an external perspective. Reflection/MOPby Mohammad Sajid Anwar Here I document the evolution of code reflection and metaobject protocols from Lisp and CLOS all the way to contemporary object systems. And finally turn the attention to how Perl has evolved—starting with the first implementation of a symbol table with %main:: and the Moose framework's use of Class::MOP, and now to features that have become intrinsic to the language like the isa operator, CLASS and capability testing via $obj->can(). CatalystNext: What Should We Keep, Change, and Rethink? by John Napiorkowski John Napiorkowski starts the conversation on CatalystNext, which refers to a new concept associated with the old Catalyst Perl web framework on the basis of PAGI technology. In this article, he weighs the benefits of keeping action-subroutine attributes rather than using route DSL, improving the syntax of the chained dispatch method, separating code bundles from URLs, and improving state/service boundaries while avoiding a fundamental issue of historical compatibility. Moving Targets - PetaPerl 0.6.8by Richard C. Jelinek PetaMem has launched the new version 0.6.8 of pperl, increasing its minimum version requirement from now on to Perl 5.44. Some of the main highlights of the release include an implemented zero-setup native DBI that allows for PostgreSQL and MySQL support via FFI without any need for XS compiling. 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 - 385by Mohammad Sajid Anwar Welcome to a new week with a couple of fun tasks "Uncommon Words" and "Outermost Parentheses". 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 - 384by Mohammad Sajid Anwar Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Base N" and "Special Binary Substrings" tasks in Perl and Raku. You will find plenty of solutions to keep you busy. TWC384by Ali Moradi The solution set provided by Ali includes easy-to-read implementations in Perl, testable via Test::More. The basic conversion function works perfectly with custom symbols, and the binary substring method utilises brief regular expressions in order to achieve simplicity in its logic. N Binary with Rakuby Arne Sommer Arne makes use of Raku to tackle arbitrary base conversion (using multiple dispatch as well as built-in base and custom-character fallback logic for many bases up to 64) and identifies special binary substrings with the aid of subset typing, index iteration, and regex checking. Perl Weekly Challenge: Week 384by Jaldhar H. Vyas Jaldhar's article about Raku's Metaobject Protocol in PWC 384 presents an interesting approach in dynamically wrapping Int.base() in order to accomplish base conversions up to Base 64. When combined with the elegant solutions in Perl and Raku, this post offers an elegant and educational solution to both challenges. Special Basesby Jorg Sommrey Jorg's article is all about the comparison of Perl and J implementations. In Task 1, he dynamically creates an ASCII digit table which supports Base 94 without using magic literals in Perl. The function Math::Prime::Util::todigits in Perl is paired with the user-defined monadic/dyadic inverses for J. In Task 2, substring searching is converted from O(n^2) naive approach to the candidate expansion process by employing List::Gather in Perl and the fold conjunction (F:). Perl Weekly Challenge 384by W Luis Mochan Luis's blog uses modern Perl syntax (try/catch, use v5.40) to produce amazing compact and expressive results. The regex-based technique for Task 2 effectively solves substring matching in a one-liner, while the mathematical checks in Task 1 are encapsulated neatly via a one-liner. A Helpful Module and a Recursive Patternby Matthias Muth The article by Matthias provides a fabulous class in Perl programming with high efficiency. In his solution of Task 1, he makes an effective use of Math::Prime::Util::todigits function in association with lookup tables. With the help of these tricks he limits the number of bases to 64. The solution crafted by Matthias in Task 2 is even more brilliant as he writes the entire code in just a single statement. He arrives at this potential solution due to great ingenuity of his approach, based on recursive regular expressions. A heaven on earth, they call it Base-N Streetby Packy Anderson Packy produced multi-language project across Perl, Raku, Python, and Elixir. The first task involved building a base-N radix array algorithm without using any built-in conversion tools to introduce the nuances between different languages such as floating-point truncating in Perl's int() as opposed to divmod in Python. The second task uses the same process but applies a non-destructive regex approach and verifies digit sums to deduplicate consecutive binary substrings in the four programming languages. The Weekly Challenge #384by Robbie Hatley Robbie's article discusses a practical and performance-oriented solution to the jobs at hand. In Task 1, he purposefully employs Math::BigInt with GNU Multiple Precision (GMP) library for high-performance and precise conversion of bases. In Task 2, he makes use of a clear dual nested-loop algorithm to process the even-length substrings and obtain all the unique consecutive sequences in binary. Are Your Substrings Based?by Roger Bell West The post written by Roger suggests straightforward and practical methods for solving both problems; it has an elegant solution regarding edge cases in base-N conversions and a clear method for tracking states when analyzing binary substrings. The explanations are lucid and the implementation in Crystal is neat, making it an interesting and informative piece for anyone working on algorithmic problems. Base substringsby Simon Green Simon contributes a very neat and effective method for Challenge 384, which emphasises early and proper input validation as well as a clear presentation of the custom base-64 alphabet ordering. The act of generating candidate character sets before worrying about the substring matching process also greatly reinforces the explanation's clarity and results in a highly readable dual Python/Perl solution guide. Rakudo 2026.28/29/30 Thank you!by Elizabeth Mattijsen Weekly collections NICEPERL's listsby Miguel Prz Great CPAN modules released last week. Events Amsterdam PM bijeenkomstAugust 04, 2026 Purdue Perl Mongers (HackLafayette) - TBAAugust 12, 2026 Amsterdam PM bijeenkomstSeptember 01, 2026 Purdue Perl Mongers (HackLafayette) - TBASeptember 9, 2026 Amsterdam PM bijeenkomstOctober 06, 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.
This is a summary aggregated from Dev.to. Read the complete article on the original site:
Read full article at Dev.to