|
Perl Weekly
Issue #792 - 2026-09-28 - Hacktoberfest
latest | archive | edited by Mohammad Sajid Anwar
|
|
Hi there,
October is quickly approaching, and so is Hacktoberfest! Whether you are an expert CPAN author or you are making your first contribution to the world of open source, there are many CPAN projects in the Perl community that are ready for your pull requests. Participation in Hacktoberfest is a fantastic way to show appreciation for the tools you use and benefit from, resolve that annoying bug in the CPAN project you like, or assist maintainers to create better documentation and testing coverage for the whole project.
While you are doing open-source programming, do not forget that the festive season for blogging is nearing as well. The Call for Papers for the Perl Advent Calendar is open, and the organisers are searching for new and bright ideas. You do not have to write a long and serious article. Short reports about projects from CPAN that deserve more attention, original ideas, or something else that can be of help are all very welcome.
In case you've been creating an idea or you have a specific module you'd want to showcase, you can visit the project repository for an early submission of your proposal. This will allow you to block a day on the calendar. Getting some quick Hacktoberfest contribution alongside creating an outline for an article is an ideal strategy to get maximum benefits this fall!
Perl v5.45.3 is now available! This latest version has introduced one of the most useful features in the language's core syntax: four new undef aware equality operators (equ, neu, ===, and !==). These operators simplify scalar comparisons without producing warnings about uninitialised values or converting undef to 0 or an empty string, the operators treat undef as a real value equal only to itself. If you are testing on the blead track, try these operators; however, remember to suppress experimental warnings using "use experimental 'equ';"; once you do! I have created simple script, you can try it yourself.
Enjoy rest of the newsletter.
Mohammad Sajid Anwar
|
|
|
Announcements
|
by Philippe Bruhat (BOOK)
Philippe Bruhat has released Perl 5.45.3, which is the newest version in Perl 5.45 series. This release includes several core and interpreter bug fixes, internal improvements, and updates to modules.
|
|
|
by Olaf Alders (OALDERS)
Olaf has declared the Call for Papers for the Perl Advent Calendar season 27. The announcement outlines a tight schedule wherein ideas are expected by October 15 and final drafts by November 1. The announcement also mentioned healthy community-first policy focused on the voice of the author rather than that of large language model generators.
|
|
|
Articles
|
This Week in PSC #236, the three members came together to have a discussion about the two proposals having a match case. They came to the conclusion to have mailing list discussions on destructuring ideas. They also made the discussion to advance the PPC proposals for @INC. They also talked about the unification of the core functionalities hooks which include the limitation of the function rand() and installation of random number generators.
|
|
by Dean Hamstead (DJZORT)
NetAddr::IP has been introduced a beta release 4.080_01 under the guidance of a new maintainer. Vital improvements have been introduced to the module in the new version. Invalid legacy behaviors have been eliminated as well. It’s noteworthy that the testing suite has been fully updated to Test2::V1, thereby getting wider CI coverage for the modern Perl versions.
|
|
|
by Mohammad Sajid Anwar (MANWAR)
The post discusses extending the Dancer2 web framework with preliminary support for the new HTTP QUERY method (RFC 10008). It covers some simple changes made to Dancer2's fundamental modules (DSL, Request, Types), an extensive test suite provided through Plack::Test, and working examples of REST API querying.
|
|
|
by Richard C. Jelinek
PetaMem's new release, pperl 0.6.20, has brought many performance improvements, achieving up to 7.3 times improvement over node.js according to Benchmarks Game performance metrics due to JIT optimizations including bump-arena tree builds and SIMD intervals proof. The release has also given rise to a 52 times faster Memoize due to compiled cache hits, made possible by the native integration of the 3D graphics with the help of Rust's wgpu crate, and provided a lot of new documentation.
|
|
Grants
|
|
|
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.
|
by Mohammad Sajid Anwar (MANWAR)
Welcome to a new week with a couple of fun tasks "Pythagoras Multiplied" and "Prime Step". 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 "Convert Palindrome" and "Words Length Product" tasks in Perl and Raku. You will find plenty of solutions to keep you busy.
|
|
|
by Ali Moradi
Ali presents neat, practical, and idiomatic Perl approaches to solving problems related to The Weekly Challenge #392, showcasing straightforward and easy-to-understand algorithms for string processing as well as set-based filtration. The use of unit tests with the help of Test::More is linked closely to the code and ensures proper functioning if the code is clear and easy to follow.
|
|
by Arne Sommer
Arne's blog post presents a straightforward, neatly organised solution to the Perl Weekly Challenge #392 while using Raku's remarkable built-in features. It demonstrates Raku's notable idiomatic features well, such as string processing using .flip, subset matching through comb, and set operations with help of the ∩ operation.
|
|
|
by Jaldhar H. Vyas
This blog offers a clear and structured guide for both challenges of the Perl Weekly Challenge, providing practical example solutions in both Perl and Raku. It simplifies complex string manipulation and set operation problems by breaking them down into simple code snippets accompanied by useful narrations.
|
|
by Luboš Kolouch
This publication presents excellent, optimal solutions in both Perl and Python, with explanations tracing the logic of every task. The decision to use a 26-bit integer bitmask for Task 2 is a brilliant optimisation; the task is accomplished by performing O(1) bitwise AND operations instead of set-intersection checks. Moreover, the implementations are clean and idiomatic in both languages and are easily connected with the original constraints of the problem.
|
|
by W Luis Mochan
Published by Luis Mochan, this post provides a great insight into concise Perl regex construction and some advanced forms of deferred regex evaluation ((??{...}), and evaluates a palindrome conversion problem in a single substitution step. The functional pipeline method for Task 2 merges map, grep, and dynamic regex character comparison, which allows him to create idiomatic and expressive one-liners supported by concise explanations.
|
|
|
by Packy Anderson (PACKY)
Packy's article discusses the Weekly Challenge #392 in detail using various computer languages like Raku, Perl, Python, and Elixir. His analysis is simple and makes use of either recursive or iterative calculations to find the characters that should be appended at the end. The article is very interesting and rich in jargon, and it also mentions the famous song of Weird Al Yankovic Bob.
|
|
|
by Peter Campbell Smith
Peter has provided a clear and well-argued solution to the problem, "Convert Palindrome" in his blog post. His neat solution entails the reversing of the input string just the once and using it to compare substrings. This avoids having to perform repetitive string inversion operations and allows for a simple solution without worrying about edge cases.
|
|
|
by Reinier Maliepaard
The entry from Reinier Maliepaard for Task #1, "Convert Palindrome", which belongs to The Weekly Challenge #392, can be found here. Although the page in its current view provides a simplistic layout of the task statement, Reinier has been presenting his contributions successfully with practical implementations based on proper methods.
|
|
by Reinier Maliepaard
In this blog, we can find Reinier Maliepaard's submission for Task #2, "Words Length Product" from The Weekly Challenge 392. Usually, his work is marked by effective and idiomatic Perl techniques in string analysis and set disjointness check within a well-organised framework.
|
|
by Roger Bell West (FIREDRAKE)
In this blog post, Roger offers a comprehensive, multilingual analysis of Weekly Challenge 392, showcasing an innovative way to solve this problem without taking any shortcuts. This article advocates the power of programming languages by demonstrating how manual set intersection using hashing can be done in Perl, while this is a built-in part of the Raku language. The effective use of language makes this content interesting and valuable to language enthusiasts, since the code snippets used are tied together with thorough explanations.
|
|
by Simon Green (SGREEN)
This blog entry gives an excellent, bilingual implementation in Python and Perl for Weekly Challenge 392. Simon effectively shows elegant coding paradigms with a Python generator and itertools.combinations and an analogous Perl iterator approach to effectively solve problems related to word length product and palindrome transformations. Overall, the blog serves as an informative and succinct guide to solving problems in different programming languages.
|
|
|
Rakudo
|
|
|
Weekly collections
|
|
|
Events
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You know, you could get the Perl Weekly right in your mailbox. Every Week. Free of charge!
|