MESSAGE
| DATE | 2025-09-15 |
| FROM | Gabor Szabo
|
| SUBJECT | Subject: [Hangout - NYLXS] [Perlweekly] #738 - Design Patterns
|
From hangout-bounces-at-nylxs.com Mon Sep 15 08:34:05 2025 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [96.57.23.82]) by mrbrklyn.com (Postfix) with ESMTP id 4B9B21640EC; Mon, 15 Sep 2025 08:34:05 -0400 (EDT) X-Original-To: hangout-at-www2.mrbrklyn.com Delivered-To: hangout-at-www2.mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 1000) id 7F0701640E8; Mon, 15 Sep 2025 08:34:02 -0400 (EDT) Resent-From: Ruben Safir Resent-Date: Mon, 15 Sep 2025 08:34:02 -0400 Resent-Message-ID: <20250915123402.GA7699-at-www2.mrbrklyn.com> Resent-To: hangout-at-mrbrklyn.com X-Original-To: ruben-at-mrbrklyn.com Delivered-To: ruben-at-mrbrklyn.com Received: from s.wrqvtvvn.outbound-mail.sendgrid.net (s.wrqvtvvn.outbound-mail.sendgrid.net [149.72.120.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mrbrklyn.com (Postfix) with ESMTPS id 4AE2E1640E6 for ; Mon, 15 Sep 2025 01:34:27 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=szabgab.com; h=content-type:date:from:mime-version:subject:to:cc:content-type:date: from:subject:to; s=s1; bh=sB+5dGQugjYVwRXXNum8Kx4q5D9XYTyP13JM/eLhfm8=; b=Tnm0sgqxL7p3fp/usVh2Q1sVh/UD63Och35t8KKqbYLeN6M7/TObCaEmluX7TjaHpPu+ MODfqSsG433jRGObGiDR6/E0xO5zPiMWavwQWiD/h2j8uCrpsQofYzZ/AsFKUXLVGSRqhx sziOyu32t1yjlqiXphD5PNg2jnaSH+XDuNdc6C4u762fh2UqPlIGB7jAbD4CxGY+GlwfZs xkr6aG3RaURzV7vXeNE53JigOrURw1T07pXJ1Xs+xVlDiLwzkhNJ7i+ZOeQfu3t+vGdp7/ FQiTpd8MvURtZF18+TXmmk98xnzPrfIpt+2dNslnQVzXphYk5Qzw8MkDLWJ7JgGQ== Received: by recvd-canary-69567886cb-bkz4f with SMTP id recvd-canary-69567886cb-bkz4f-1-68C7A562-18 2025-09-15 05:34:26.761559697 +0000 UTC m=+1060241.640952903 Received: from MjA0MzMyMDc (unknown) by geopod-ismtpd-0 (SG) with HTTP id sQT7Ez6eQwK1AgXpuuPMSA Mon, 15 Sep 2025 05:34:26.722 +0000 (UTC) Date: Mon, 15 Sep 2025 05:34:26 +0000 (UTC) From: Gabor Szabo Mime-Version: 1.0 Message-ID: X-SG-EID: =?us-ascii?Q?u001=2EfEeT3imdomNYTgM3CPMr=2F5Dkst8c96g=2FUCTCSTQhFzPFq1p+hf5OYWVNg?= =?us-ascii?Q?tIP=2F6ApoGWR432JvkRyG3ACwKDZE6x3vcKSKbQ6?= =?us-ascii?Q?OBwLEcblUXWpj+fUhrO0M8sjH3RFkdwkXBFFV8c?= =?us-ascii?Q?478KccsOxEsPEzu=2FyijvdHN2goVauPjmiwrVVyg?= =?us-ascii?Q?gXi2Hg=2FNAwDlZ9ZutodeuiGH8tCxtxcsXTpuzsb?= =?us-ascii?Q?MKoddocZhgzLn0fEooPJmM=3D?= To: ruben-at-mrbrklyn.com X-Entity-ID: u001.JvYq+PmxR+Jk4HAvLs9YyA== Subject: [Hangout - NYLXS] [Perlweekly] #738 - Design Patterns X-BeenThere: hangout-at-nylxs.com X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: NYLXS Tech Talk and Politics List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============0767708710==" Errors-To: hangout-bounces-at-nylxs.com Sender: "Hangout"
--===============0767708710== Content-Type: multipart/alternative; boundary=195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0
--195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0
Perl Weekly=20
https://perlweekly.com/
You can read the newsletter on the web, if you prefer. https://perlweekly.com/archive/738.html
Hi there,
Say "Design Patterns" and "Perl" in the same sentence and you may receive puzzled looks. To a large audience of the software world, Perl is still pigeon holed as a "write-only" script; a wild west where structure goes to die. In comparison, there is the Gang of Four's text, with its formalized object-oriented design diagrams, which seems to exist in its own universe.
That perception isn't just stale, but wrong. Perl is compatible with Design Patterns. As a matter of fact, patterns and perl are quite complementary.
Perl has always embraced the principles that patterns are trying to get at: flexibility, maintainability, and clarity. The well-known principle of "There's more than one way to do it" (TIMTOWTDI) isn't meant to be a negation of structure, but more of an encouragement for intentional design. Perl doesn't just allow patterns, it often can express design patterns more nimbly than rigid patterns in rule-bound languages.
In Perl there really is no decision to go with patterns or not, but rather how to apply patterns. Patterns as they relate to Perl will intricately exist as idioms based and not frameworks as in many other languages, even when additional libraries are implemented there are patterns that are idiomatic to the language and its ecosystem.
Perl's best design pattern is, simply, the pattern of well-thought out and effective problem-solving. And that, I think, is as timeless as software engineering gets.
I've published the first post, Factory Method ( https://theweeklychallenge.org/blog/design-pattern-factory ), part of a long series.
Enjoy rest of the newsletter.
-- Your editor: Mohammad Sajid Anwar.
Announcements
=20 Strawberry Perl 5.42.0.1 64-bit UCRT https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_54= 201_64bit =20 The release notes are in draft form only and need to be edited before bei= ng uploaded to the website. In particular, DBD::MySql is not part of the release. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Articles
=20 Caching using CHI https://theweeklychallenge.org/blog/caching-using-chi =20 Here is piece of work that demonstrates the power of Perl's modern ecosystem by taking a common, real-world problem (caching) and showcasing a robust, modular solution (the CHI module). --------------
=20 Design Pattern Factory https://theweeklychallenge.org/blog/design-pattern-factory/ =20 An educational article, it successfully demystifies the Factory Pattern b= y grounding it in a concrete, relatable example. The post is exceptionally well-structured moving from a real-world problem to a suboptimal solution and finally to an elegant implementation of the pattern. --------------
=20 Migration direction has matter! https://blogs.perl.org/users/eugen_konkov/2025/09/migration-direction-has= -matter.html =20 This is a highly technical, niche and opinionated post aimed at a very specific audience: system administrators or developers maintaining legacy Perl code that interacts with databases. --------------
=20 Perl Rebounds In TIOBE Index - Why? https://www.i-programmer.info/news/222-perl/18308-perl-rebounds-in-tiobe-= index-why.html =20 The article is valuable as a news brief. It informs readers that Perl is still active and may be experiencing a renewal of interest. It introduces valid, positive points about the language. It identifies a relevant trend, accurately describes Perl's strengths, positive and readable. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Grants
=20 PEVANS Core Perl 5: Grant Report for August 2025 https://news.perlfoundation.org/post/pevans_core_dev_august_2025 =20 =20 --------------
=20 Maintaining Perl (Tony Cook) August 2025 https://news.perlfoundation.org/post/maintaining_perl_tonyc_august_2025 =20 =20 --------------
=20 Maintaining Perl 5 Core (Dave Mitchell): August 2025 https://news.perlfoundation.org/post/maintaining_perl_dave_mitchell_augus= t_2025 =20 =20 --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
The Weekly Challenge The Weekly Challenge ( https://theweeklychallenge.org ) by Mohammad Sajid Anwar ( https://manwar.org ) 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. =20 The Weekly Challenge - 339 https://theweeklychallenge.org/blog/perl-weekly-challenge-339 =20 Welcome to a new week with a couple of fun tasks "Max Diff" and "Peak Point". 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 ( https://theweeklychallenge.org/faq ). --------------
=20 RECAP - The Weekly Challenge - 338 https://theweeklychallenge.org/blog/recap-challenge-338 =20 Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Highest Row" and "Max Distance" tasks in Perl and Raku. You will find plenty of solutions to keep you busy. --------------
=20 TWC338 https://deadmarshal.blogspot.com/2025/09/twc338.html =20 The solutions are concise, correct and effectively leverage the power of the List::Util module. They demonstrate a strong functional programming style within Perl, using map to transform data and higher-order functions like max to find solutions. The code is clean, readable and gets the job done with minimal overhead. --------------
=20 Row the Distance https://raku-musings.com/row-distance.html =20 This is a well-written, high-quality post that perfectly embodies the spirit of Raku programming. It demonstrates a clear progression from a straightforward, imperative solution to a more elegant, functional and idiomatic Raku solution. --------------
=20 Maximal maximization of maximums https://dev.to/boblied/pwc-338-maximal-maximization-of-maximums-4jm1 =20 It is a well-written, clear and practical walkthrough of solving the week= ly challenge. It successfully achieves its goal of explaining the thought process and implementation for the first task. The post is technically sound, easy to follow and demonstrates good coding practices. --------------
=20 Perl Weekly Challenge: Week 338 https://www.braincells.com/perl/2025/09/perl_weekly_challenge_week_338.ht= ml =20 This is a classic example of a "code golfer" or "one-liner" approach to solving coding challenges. The solutions are exceptionally concise and leverage the high-level features of Raku and Perl to their fullest. The focus is on brevity and clever use of built-in operators rather than on readability, educational value or software engineering best practices. --------------
=20 Vectored Max https://github.sommrey.de/the-bears-den/2025/09/12/ch-338.html =20 This post is a fantastic deep dive into problem-solving. It stands out fo= r its exceptional quality, showcasing not just solutions but a true computer scientist's approach: rigorous analysis, systematic exploration of multiple algorithms with clear complexity analysis and empirical performance testing. --------------
=20 Perl Weekly Challenge 338 https://wlmb.github.io/2025/09/07/PWC338/ =20 These solutions leverage the powerful Perl Data Language (PDL) to solve t= he challenges with extreme brevity and computational efficiency. PDL is designed for numerical computing and these examples perfectly demonstrate its strength in vectorizing operations that would require explicit loops in standard Perl. The solutions are concise, efficient and elegant for those familiar with the PDL paradigm. --------------
=20 Higher and Higher https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-338/c= hallenge-338/matthias-muth#readme =20 This is a masterclass in writing concise, idiomatic and efficient Perl. Matthias demonstrates a deep understanding of the language's functional programming capabilities and standard libraries. The solutions are not just correct; they are elegant and demonstrate a clear preference for clarity and performance over brute force. --------------
=20 Maxwell=E2=80=99s Silver Highest https://packy.dardan.com/b/b0 =20 A solid, correct and engaging post. The solutions are technically sound a= nd nicely idiomatic in each language. --------------
=20 High and far http://ccgi.campbellsmiths.force9.co.uk/challenge/338 =20 Peter's solutions are exemplary models of clarity, robustness and efficiency. He deliberately chooses transparent, verbose code over clever one-liners, making his solutions easy to understand and maintain. Furthermore, he demonstrates deep insight by identifying and implementing highly efficient algorithms, especially for the second task. --------------
=20 Mad Max Beyond Perldome https://hatley-software.blogspot.com/2025/09/robbie-hatleys-solutions-in-= perl-for_9.html =20 This is an exemplary model of how to write clean, professional and well-documented solutions to coding challenges. The code prioritizes readability, robustness and maintainability over cleverness or brevity. --------------
=20 Highest to the Max https://blog.firedrake.org/archive/2025/09/The_Weekly_Challenge_338__High= est_to_the_Max.html =20 This is a concise, efficient and highly practical blog post. It quickly identifies the core of the problem and implement the most efficient solution with clean, idiomatic code and avoids unnecessary fluff and focuses on the key insights and implementations. --------------
=20 The Highest Distance https://dev.to/simongreennet/weekly-challenge-the-highest-distance-4ec =20 This is a well-structured, beginner-friendly and practical walkthrough of solving the weekly challenge. It takes a tutorial-style approach, explaining thought process step-by-step in a clear and accessible manner. The post is light on deep algorithmic analysis but heavy on clarity and implementation. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Rakudo
=20 2025.36 Raku.org Reboot https://rakudoweekly.blog/2025/09/08/2025-36-raku-org-reboot/ =20 The reboot of raku.org is a masterclass in modern open-source pragmatism. It successfully transforms a stagnant, manually-curated webpage into a vibrant, automated showcase of the language it represents. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Weekly collections
=20 NICEPERL's lists http://niceperl.blogspot.com/ =20 Great CPAN modules released last week ( https://niceperl.blogspot.com/2025/09/dlxv-15-great-cpan-modules-released .html ). --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Events
=20 Toronto.pm - online - Lightning Talks 2025 https://lu.ma/prfiewo4 =20 September 25, 2025 --------------
=20 Annual Russian Perl Conference 2025 https://perl-conf.ru/25 =20 September 27, 2025 --------------
=20 Boston.pm - online - (2d Tuesday) https://boston-pm.github.io/ =20 October 14, 2025 --------------
=20 Toronto.pm - online - How SUSE is using Perl https://lu.ma/v90mkqj5 =20 December 6, 2025 --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 ( https://perlweekly.com/archive/ ) of a= ll the issues.
Reading this as a non-subscriber? Join us free of charge. https://perlweekl= y.com/
(C) Copyright Gabor Szabo https://szabgab.com/ The articles are copyright the respective authors.
You can freely redistribute this message if you keep the whole message intact, including the Copyright notice and this text.
If you don't want to receive mails any more you can unsubscribe here: https://perlweekly.com/unsubscribe.html
--195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Mime-Version: 1.0
1.0, user-scalable=3Dyes"> Perl Weekly Issue #738 - 2025-09-15 - Design Patterns
color=3D"#ffffff">
background-color: #004065; color: #FFF; text-decoration: none; font-size: 40px; font-weight: bold; font-family: Gadget; =20 border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 1px solid #000; padding: 10px; ">Perl Weekly =20
style=3D"border-bottom: 1px solid #ccc; padding-bottom: 8px; font-size: 18px;"> Issue #738 - 2025-09-15 - Design Patterns
latest | https://perlweekly.com/archive">archive | edited by manwar.org/">Mohammad Sajid Anwar
=20 =20
=20
|
=20 Hi there,
=20 Say "Design Patterns" and "Perl" = in the same sentence and you may receive puzzled looks. To a large audience= of the software world, Perl is still pigeon holed as a "w= rite-only" script; a wild west where structure goes to die. In comparison, = there is the Gang of Four's text, with its formalized obje= ct-oriented design diagrams, which seems to exist in its own universe.
=20 That perception isn't just stale, but wrong. Perl = is compatible with Design Patterns. As a matter of fact, p= atterns and perl are quite complementary.
=20 Perl has always embraced the principles that patte= rns are trying to get at: flexibility, maintainability, and clarity. The we= ll-known principle of "There's more than one way to do it" (TIMTOWTDI) isn'= t meant to be a negation of structure, but more of an encouragement for int= entional design. Perl doesn't just allow patterns, it ofte= n can express design patterns more nimbly than rigid patterns in rule-bound= languages.
=20 In Perl there really is no decision to go with pat= terns or not, but rather how to apply patterns. Patterns as they relate to = Perl will intricately exist as idioms based and not framew= orks as in many other languages, even when additional libraries are impleme= nted there are patterns that are idiomatic to the language and its ecosyste= m.
=20 Perl's best design pattern is, simply, the pattern= of well-thought out and effective problem-solving. And that, I think, is a= s timeless as software engineering gets.
=20 I've published the first post, e.org/blog/design-pattern-factory">Factory Method, part of a long serie= s.
=20 Enjoy rest of the newsletter.
=20 Your editor: Mohammad Sajid Anwar.
| mg/mohammad_anwar.png" /> |
|
Announcementsiv> =20 | =20 =20 | =20 =20
Articles =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 | =20 =20 | =20 =20
Grants =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
The Weekly Chall= enge =20 nge.org">The Weekly Challenge by Mohamma= d 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 o= ne champion at the end of the month from among all of the contributors duri= ng the month, thanks to the sponsor Lance Wicks. =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 > tml" style=3D" font-size: 18px; font-weight: bold; ">TWC338 =20 by Ali Moradi
style=3D"font-size: 16px"> The solutions are concise, correct and effectively leverag= e the power of the List::Util module. They demonstrate a strong functional = programming style within Perl, using map to transform data and higher-order= functions like max to find solutions. The code is clean, readable and gets= the job done with minimal overhead. =20 =20 | =20 | =20 =20 > =3D" font-size: 18px; font-weight: bold; ">Row the Distance =20 by Arne Sommer
style=3D"font-size: 16px"> This is a well-written, high-quality post that perfectly e= mbodies the spirit of Raku programming. It demonstrates a clear progression= from a straightforward, imperative solution to a more elegant, functional = and idiomatic Raku solution. =20 =20 | =20 | =20 =20 | =20 =20 | =20 =20 > 2/ch-338.html" style=3D" font-size: 18px; font-weight: bold; ">Vectored Max =20 by Jorg Sommrey <= p style=3D"font-size: 16px"> This post is a fantastic deep dive into problem-solving. I= t stands out for its exceptional quality, showcasing not just solutions but= a true computer scientist's approach: rigorous analysis, systematic explor= ation of multiple algorithms with clear complexity analysis and empirical p= erformance testing.
=20 =20 | =20 | =20 =20 > =3D" font-size: 18px; font-weight: bold; ">Perl Weekly Challenge 338 =20 by W Luis Mochan =
These solutions leverage the powerful Perl Data Language (= PDL) to solve the challenges with extreme brevity and computational efficie= ncy. PDL is designed for numerical computing and these examples perfectly d= emonstrate its strength in vectorizing operations that would require explic= it loops in standard Perl. The solutions are concise, efficient and elegant= for those familiar with the PDL paradigm.
=20 =20 | =20 | =20 =20 | =20 =20 | =20 =20 > /338" style=3D" font-size: 18px; font-weight: bold; ">High and far =20 by Peter Campbell Smith =
Peter's solutions are exemplary models of clarity, robustn= ess and efficiency. He deliberately chooses transparent, verbose code over = clever one-liners, making his solutions easy to understand and maintain. Fu= rthermore, he demonstrates deep insight by identifying and implementing hig= hly efficient algorithms, especially for the second task.
=20 =20 | =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
Rakudo =20 | =20 | m/img/elizabeth_mattijsen.png" title=3D"Elizabeth Mattijsen" width=3D"80" /= > | =20 | =20 =20
Weekly collectio= ns =20 | =20 =20 | =20 =20
Events =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
|
--195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0--
--===============0767708710== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline
_______________________________________________ Hangout mailing list Hangout-at-nylxs.com http://lists.mrbrklyn.com/mailman/listinfo/hangout
--===============0767708710==--
--===============0767708710== Content-Type: multipart/alternative; boundary=195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0
--195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0
Perl Weekly=20
https://perlweekly.com/
You can read the newsletter on the web, if you prefer. https://perlweekly.com/archive/738.html
Hi there,
Say "Design Patterns" and "Perl" in the same sentence and you may receive puzzled looks. To a large audience of the software world, Perl is still pigeon holed as a "write-only" script; a wild west where structure goes to die. In comparison, there is the Gang of Four's text, with its formalized object-oriented design diagrams, which seems to exist in its own universe.
That perception isn't just stale, but wrong. Perl is compatible with Design Patterns. As a matter of fact, patterns and perl are quite complementary.
Perl has always embraced the principles that patterns are trying to get at: flexibility, maintainability, and clarity. The well-known principle of "There's more than one way to do it" (TIMTOWTDI) isn't meant to be a negation of structure, but more of an encouragement for intentional design. Perl doesn't just allow patterns, it often can express design patterns more nimbly than rigid patterns in rule-bound languages.
In Perl there really is no decision to go with patterns or not, but rather how to apply patterns. Patterns as they relate to Perl will intricately exist as idioms based and not frameworks as in many other languages, even when additional libraries are implemented there are patterns that are idiomatic to the language and its ecosystem.
Perl's best design pattern is, simply, the pattern of well-thought out and effective problem-solving. And that, I think, is as timeless as software engineering gets.
I've published the first post, Factory Method ( https://theweeklychallenge.org/blog/design-pattern-factory ), part of a long series.
Enjoy rest of the newsletter.
-- Your editor: Mohammad Sajid Anwar.
Announcements
=20 Strawberry Perl 5.42.0.1 64-bit UCRT https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/SP_54= 201_64bit =20 The release notes are in draft form only and need to be edited before bei= ng uploaded to the website. In particular, DBD::MySql is not part of the release. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Articles
=20 Caching using CHI https://theweeklychallenge.org/blog/caching-using-chi =20 Here is piece of work that demonstrates the power of Perl's modern ecosystem by taking a common, real-world problem (caching) and showcasing a robust, modular solution (the CHI module). --------------
=20 Design Pattern Factory https://theweeklychallenge.org/blog/design-pattern-factory/ =20 An educational article, it successfully demystifies the Factory Pattern b= y grounding it in a concrete, relatable example. The post is exceptionally well-structured moving from a real-world problem to a suboptimal solution and finally to an elegant implementation of the pattern. --------------
=20 Migration direction has matter! https://blogs.perl.org/users/eugen_konkov/2025/09/migration-direction-has= -matter.html =20 This is a highly technical, niche and opinionated post aimed at a very specific audience: system administrators or developers maintaining legacy Perl code that interacts with databases. --------------
=20 Perl Rebounds In TIOBE Index - Why? https://www.i-programmer.info/news/222-perl/18308-perl-rebounds-in-tiobe-= index-why.html =20 The article is valuable as a news brief. It informs readers that Perl is still active and may be experiencing a renewal of interest. It introduces valid, positive points about the language. It identifies a relevant trend, accurately describes Perl's strengths, positive and readable. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Grants
=20 PEVANS Core Perl 5: Grant Report for August 2025 https://news.perlfoundation.org/post/pevans_core_dev_august_2025 =20 =20 --------------
=20 Maintaining Perl (Tony Cook) August 2025 https://news.perlfoundation.org/post/maintaining_perl_tonyc_august_2025 =20 =20 --------------
=20 Maintaining Perl 5 Core (Dave Mitchell): August 2025 https://news.perlfoundation.org/post/maintaining_perl_dave_mitchell_augus= t_2025 =20 =20 --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
The Weekly Challenge The Weekly Challenge ( https://theweeklychallenge.org ) by Mohammad Sajid Anwar ( https://manwar.org ) 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. =20 The Weekly Challenge - 339 https://theweeklychallenge.org/blog/perl-weekly-challenge-339 =20 Welcome to a new week with a couple of fun tasks "Max Diff" and "Peak Point". 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 ( https://theweeklychallenge.org/faq ). --------------
=20 RECAP - The Weekly Challenge - 338 https://theweeklychallenge.org/blog/recap-challenge-338 =20 Enjoy a quick recap of last week's contributions by Team PWC dealing with the "Highest Row" and "Max Distance" tasks in Perl and Raku. You will find plenty of solutions to keep you busy. --------------
=20 TWC338 https://deadmarshal.blogspot.com/2025/09/twc338.html =20 The solutions are concise, correct and effectively leverage the power of the List::Util module. They demonstrate a strong functional programming style within Perl, using map to transform data and higher-order functions like max to find solutions. The code is clean, readable and gets the job done with minimal overhead. --------------
=20 Row the Distance https://raku-musings.com/row-distance.html =20 This is a well-written, high-quality post that perfectly embodies the spirit of Raku programming. It demonstrates a clear progression from a straightforward, imperative solution to a more elegant, functional and idiomatic Raku solution. --------------
=20 Maximal maximization of maximums https://dev.to/boblied/pwc-338-maximal-maximization-of-maximums-4jm1 =20 It is a well-written, clear and practical walkthrough of solving the week= ly challenge. It successfully achieves its goal of explaining the thought process and implementation for the first task. The post is technically sound, easy to follow and demonstrates good coding practices. --------------
=20 Perl Weekly Challenge: Week 338 https://www.braincells.com/perl/2025/09/perl_weekly_challenge_week_338.ht= ml =20 This is a classic example of a "code golfer" or "one-liner" approach to solving coding challenges. The solutions are exceptionally concise and leverage the high-level features of Raku and Perl to their fullest. The focus is on brevity and clever use of built-in operators rather than on readability, educational value or software engineering best practices. --------------
=20 Vectored Max https://github.sommrey.de/the-bears-den/2025/09/12/ch-338.html =20 This post is a fantastic deep dive into problem-solving. It stands out fo= r its exceptional quality, showcasing not just solutions but a true computer scientist's approach: rigorous analysis, systematic exploration of multiple algorithms with clear complexity analysis and empirical performance testing. --------------
=20 Perl Weekly Challenge 338 https://wlmb.github.io/2025/09/07/PWC338/ =20 These solutions leverage the powerful Perl Data Language (PDL) to solve t= he challenges with extreme brevity and computational efficiency. PDL is designed for numerical computing and these examples perfectly demonstrate its strength in vectorizing operations that would require explicit loops in standard Perl. The solutions are concise, efficient and elegant for those familiar with the PDL paradigm. --------------
=20 Higher and Higher https://github.com/MatthiasMuth/perlweeklychallenge-club/tree/muthm-338/c= hallenge-338/matthias-muth#readme =20 This is a masterclass in writing concise, idiomatic and efficient Perl. Matthias demonstrates a deep understanding of the language's functional programming capabilities and standard libraries. The solutions are not just correct; they are elegant and demonstrate a clear preference for clarity and performance over brute force. --------------
=20 Maxwell=E2=80=99s Silver Highest https://packy.dardan.com/b/b0 =20 A solid, correct and engaging post. The solutions are technically sound a= nd nicely idiomatic in each language. --------------
=20 High and far http://ccgi.campbellsmiths.force9.co.uk/challenge/338 =20 Peter's solutions are exemplary models of clarity, robustness and efficiency. He deliberately chooses transparent, verbose code over clever one-liners, making his solutions easy to understand and maintain. Furthermore, he demonstrates deep insight by identifying and implementing highly efficient algorithms, especially for the second task. --------------
=20 Mad Max Beyond Perldome https://hatley-software.blogspot.com/2025/09/robbie-hatleys-solutions-in-= perl-for_9.html =20 This is an exemplary model of how to write clean, professional and well-documented solutions to coding challenges. The code prioritizes readability, robustness and maintainability over cleverness or brevity. --------------
=20 Highest to the Max https://blog.firedrake.org/archive/2025/09/The_Weekly_Challenge_338__High= est_to_the_Max.html =20 This is a concise, efficient and highly practical blog post. It quickly identifies the core of the problem and implement the most efficient solution with clean, idiomatic code and avoids unnecessary fluff and focuses on the key insights and implementations. --------------
=20 The Highest Distance https://dev.to/simongreennet/weekly-challenge-the-highest-distance-4ec =20 This is a well-structured, beginner-friendly and practical walkthrough of solving the weekly challenge. It takes a tutorial-style approach, explaining thought process step-by-step in a clear and accessible manner. The post is light on deep algorithmic analysis but heavy on clarity and implementation. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Rakudo
=20 2025.36 Raku.org Reboot https://rakudoweekly.blog/2025/09/08/2025-36-raku-org-reboot/ =20 The reboot of raku.org is a masterclass in modern open-source pragmatism. It successfully transforms a stagnant, manually-curated webpage into a vibrant, automated showcase of the language it represents. --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Weekly collections
=20 NICEPERL's lists http://niceperl.blogspot.com/ =20 Great CPAN modules released last week ( https://niceperl.blogspot.com/2025/09/dlxv-15-great-cpan-modules-released .html ). --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Events
=20 Toronto.pm - online - Lightning Talks 2025 https://lu.ma/prfiewo4 =20 September 25, 2025 --------------
=20 Annual Russian Perl Conference 2025 https://perl-conf.ru/25 =20 September 27, 2025 --------------
=20 Boston.pm - online - (2d Tuesday) https://boston-pm.github.io/ =20 October 14, 2025 --------------
=20 Toronto.pm - online - How SUSE is using Perl https://lu.ma/v90mkqj5 =20 December 6, 2025 --------------
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 ( https://perlweekly.com/archive/ ) of a= ll the issues.
Reading this as a non-subscriber? Join us free of charge. https://perlweekl= y.com/
(C) Copyright Gabor Szabo https://szabgab.com/ The articles are copyright the respective authors.
You can freely redistribute this message if you keep the whole message intact, including the Copyright notice and this text.
If you don't want to receive mails any more you can unsubscribe here: https://perlweekly.com/unsubscribe.html
--195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Mime-Version: 1.0
1.0, user-scalable=3Dyes"> Perl Weekly Issue #738 - 2025-09-15 - Design Patterns
color=3D"#ffffff">
background-color: #004065; color: #FFF; text-decoration: none; font-size: 40px; font-weight: bold; font-family: Gadget; =20 border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; border: 1px solid #000; padding: 10px; ">Perl Weekly =20
style=3D"border-bottom: 1px solid #ccc; padding-bottom: 8px; font-size: 18px;"> Issue #738 - 2025-09-15 - Design Patterns
latest | https://perlweekly.com/archive">archive | edited by manwar.org/">Mohammad Sajid Anwar
=20 =20
=20
|
=20 Hi there,
=20 Say "Design Patterns" and "Perl" = in the same sentence and you may receive puzzled looks. To a large audience= of the software world, Perl is still pigeon holed as a "w= rite-only" script; a wild west where structure goes to die. In comparison, = there is the Gang of Four's text, with its formalized obje= ct-oriented design diagrams, which seems to exist in its own universe.
=20 That perception isn't just stale, but wrong. Perl = is compatible with Design Patterns. As a matter of fact, p= atterns and perl are quite complementary.
=20 Perl has always embraced the principles that patte= rns are trying to get at: flexibility, maintainability, and clarity. The we= ll-known principle of "There's more than one way to do it" (TIMTOWTDI) isn'= t meant to be a negation of structure, but more of an encouragement for int= entional design. Perl doesn't just allow patterns, it ofte= n can express design patterns more nimbly than rigid patterns in rule-bound= languages.
=20 In Perl there really is no decision to go with pat= terns or not, but rather how to apply patterns. Patterns as they relate to = Perl will intricately exist as idioms based and not framew= orks as in many other languages, even when additional libraries are impleme= nted there are patterns that are idiomatic to the language and its ecosyste= m.
=20 Perl's best design pattern is, simply, the pattern= of well-thought out and effective problem-solving. And that, I think, is a= s timeless as software engineering gets.
=20 I've published the first post, e.org/blog/design-pattern-factory">Factory Method, part of a long serie= s.
=20 Enjoy rest of the newsletter.
=20 Your editor: Mohammad Sajid Anwar.
| mg/mohammad_anwar.png" /> |
|
Announcementsiv> =20 | =20 =20 | =20 =20
Articles =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 | =20 =20 | =20 =20
Grants =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
The Weekly Chall= enge =20 nge.org">The Weekly Challenge by Mohamma= d 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 o= ne champion at the end of the month from among all of the contributors duri= ng the month, thanks to the sponsor Lance Wicks. =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 | m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" /> | =20 | =20 =20 > tml" style=3D" font-size: 18px; font-weight: bold; ">TWC338 =20 by Ali Moradi
style=3D"font-size: 16px"> The solutions are concise, correct and effectively leverag= e the power of the List::Util module. They demonstrate a strong functional = programming style within Perl, using map to transform data and higher-order= functions like max to find solutions. The code is clean, readable and gets= the job done with minimal overhead. =20 =20 | =20 | =20 =20 > =3D" font-size: 18px; font-weight: bold; ">Row the Distance =20 by Arne Sommer
style=3D"font-size: 16px"> This is a well-written, high-quality post that perfectly e= mbodies the spirit of Raku programming. It demonstrates a clear progression= from a straightforward, imperative solution to a more elegant, functional = and idiomatic Raku solution. =20 =20 | =20 | =20 =20 | =20 =20 | =20 =20 > 2/ch-338.html" style=3D" font-size: 18px; font-weight: bold; ">Vectored Max =20 by Jorg Sommrey <= p style=3D"font-size: 16px"> This post is a fantastic deep dive into problem-solving. I= t stands out for its exceptional quality, showcasing not just solutions but= a true computer scientist's approach: rigorous analysis, systematic explor= ation of multiple algorithms with clear complexity analysis and empirical p= erformance testing.
=20 =20 | =20 | =20 =20 > =3D" font-size: 18px; font-weight: bold; ">Perl Weekly Challenge 338 =20 by W Luis Mochan =
These solutions leverage the powerful Perl Data Language (= PDL) to solve the challenges with extreme brevity and computational efficie= ncy. PDL is designed for numerical computing and these examples perfectly d= emonstrate its strength in vectorizing operations that would require explic= it loops in standard Perl. The solutions are concise, efficient and elegant= for those familiar with the PDL paradigm.
=20 =20 | =20 | =20 =20 | =20 =20 | =20 =20 > /338" style=3D" font-size: 18px; font-weight: bold; ">High and far =20 by Peter Campbell Smith =
Peter's solutions are exemplary models of clarity, robustn= ess and efficiency. He deliberately chooses transparent, verbose code over = clever one-liners, making his solutions easy to understand and maintain. Fu= rthermore, he demonstrates deep insight by identifying and implementing hig= hly efficient algorithms, especially for the second task.
=20 =20 | =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
Rakudo =20 | =20 | m/img/elizabeth_mattijsen.png" title=3D"Elizabeth Mattijsen" width=3D"80" /= > | =20 | =20 =20
Weekly collectio= ns =20 | =20 =20 | =20 =20
Events =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20 | =20 =20
|
--195ff7f37efffd766725b2914d8ac8d408fc8333d0253ecb41c5c60e5df0--
--===============0767708710== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline
_______________________________________________ Hangout mailing list Hangout-at-nylxs.com http://lists.mrbrklyn.com/mailman/listinfo/hangout
--===============0767708710==--
|
|