Tue Feb 17 10:21:19 2026
EVENTS
 FREE
SOFTWARE
INSTITUTE

POLITICS
JOBS
MEMBERS'
CORNER

MAILING
LIST

NYLXS Mailing Lists and Archives
NYLXS Members have a lot to say and share but we don't keep many secrets. Join the Hangout Mailing List and say your peice.

DATE 2025-09-01

HANGOUT

2026-02-17 | 2026-01-17 | 2025-12-17 | 2025-11-17 | 2025-10-17 | 2025-09-17 | 2025-08-17 | 2025-07-17 | 2025-06-17 | 2025-05-17 | 2025-04-17 | 2025-03-17 | 2025-02-17 | 2025-01-17 | 2024-12-17 | 2024-11-17 | 2024-10-17 | 2024-09-17 | 2024-08-17 | 2024-07-17 | 2024-06-17 | 2024-05-17 | 2024-04-17 | 2024-03-17 | 2024-02-17 | 2024-01-17 | 2023-12-17 | 2023-11-17 | 2023-10-17 | 2023-09-17 | 2023-08-17 | 2023-07-17 | 2023-06-17 | 2023-05-17 | 2023-04-17 | 2023-03-17 | 2023-02-17 | 2023-01-17 | 2022-12-17 | 2022-11-17 | 2022-10-17 | 2022-09-17 | 2022-08-17 | 2022-07-17 | 2022-06-17 | 2022-05-17 | 2022-04-17 | 2022-03-17 | 2022-02-17 | 2022-01-17 | 2021-12-17 | 2021-11-17 | 2021-10-17 | 2021-09-17 | 2021-08-17 | 2021-07-17 | 2021-06-17 | 2021-05-17 | 2021-04-17 | 2021-03-17 | 2021-02-17 | 2021-01-17 | 2020-12-17 | 2020-11-17 | 2020-10-17 | 2020-09-17 | 2020-08-17 | 2020-07-17 | 2020-06-17 | 2020-05-17 | 2020-04-17 | 2020-03-17 | 2020-02-17 | 2020-01-17 | 2019-12-17 | 2019-11-17 | 2019-10-17 | 2019-09-17 | 2019-08-17 | 2019-07-17 | 2019-06-17 | 2019-05-17 | 2019-04-17 | 2019-03-17 | 2019-02-17 | 2019-01-17 | 2018-12-17 | 2018-11-17 | 2018-10-17 | 2018-09-17 | 2018-08-17 | 2018-07-17 | 2018-06-17 | 2018-05-17 | 2018-04-17 | 2018-03-17 | 2018-02-17 | 2018-01-17 | 2017-12-17 | 2017-11-17 | 2017-10-17 | 2017-09-17 | 2017-08-17 | 2017-07-17 | 2017-06-17 | 2017-05-17 | 2017-04-17 | 2017-03-17 | 2017-02-17 | 2017-01-17 | 2016-12-17 | 2016-11-17 | 2016-10-17 | 2016-09-17 | 2016-08-17 | 2016-07-17 | 2016-06-17 | 2016-05-17 | 2016-04-17 | 2016-03-17 | 2016-02-17 | 2016-01-17 | 2015-12-17 | 2015-11-17 | 2015-10-17 | 2015-09-17 | 2015-08-17 | 2015-07-17 | 2015-06-17 | 2015-05-17 | 2015-04-17 | 2015-03-17 | 2015-02-17 | 2015-01-17 | 2014-12-17 | 2014-11-17 | 2014-10-17 | 2014-09-17 | 2014-08-17 | 2014-07-17 | 2014-06-17 | 2014-05-17 | 2014-04-17 | 2014-03-17 | 2014-02-17 | 2014-01-17 | 2013-12-17 | 2013-11-17 | 2013-10-17 | 2013-09-17 | 2013-08-17 | 2013-07-17 | 2013-06-17 | 2013-05-17 | 2013-04-17 | 2013-03-17 | 2013-02-17 | 2013-01-17 | 2012-12-17 | 2012-11-17 | 2012-10-17 | 2012-09-17 | 2012-08-17 | 2012-07-17 | 2012-06-17 | 2012-05-17 | 2012-04-17 | 2012-03-17 | 2012-02-17 | 2012-01-17 | 2011-12-17 | 2011-11-17 | 2011-10-17 | 2011-09-17 | 2011-08-17 | 2011-07-17 | 2011-06-17 | 2011-05-17 | 2011-04-17 | 2011-03-17 | 2011-02-17 | 2011-01-17 | 2010-12-17 | 2010-11-17 | 2010-10-17 | 2010-09-17 | 2010-08-17 | 2010-07-17 | 2010-06-17 | 2010-05-17 | 2010-04-17 | 2010-03-17 | 2010-02-17 | 2010-01-17 | 2009-12-17 | 2009-11-17 | 2009-10-17 | 2009-09-17 | 2009-08-17 | 2009-07-17 | 2009-06-17 | 2009-05-17 | 2009-04-17 | 2009-03-17 | 2009-02-17 | 2009-01-17 | 2008-12-17 | 2008-11-17 | 2008-10-17 | 2008-09-17 | 2008-08-17 | 2008-07-17 | 2008-06-17 | 2008-05-17 | 2008-04-17 | 2008-03-17 | 2008-02-17 | 2008-01-17 | 2007-12-17 | 2007-11-17 | 2007-10-17 | 2007-09-17 | 2007-08-17 | 2007-07-17 | 2007-06-17 | 2007-05-17 | 2007-04-17 | 2007-03-17 | 2007-02-17 | 2007-01-17 | 2006-12-17 | 2006-11-17 | 2006-10-17 | 2006-09-17 | 2006-08-17 | 2006-07-17 | 2006-06-17 | 2006-05-17 | 2006-04-17 | 2006-03-17 | 2006-02-17 | 2006-01-17 | 2005-12-17 | 2005-11-17 | 2005-10-17 | 2005-09-17 | 2005-08-17 | 2005-07-17 | 2005-06-17 | 2005-05-17 | 2005-04-17 | 2005-03-17 | 2005-02-17 | 2005-01-17 | 2004-12-17 | 2004-11-17 | 2004-10-17 | 2004-09-17 | 2004-08-17 | 2004-07-17 | 2004-06-17 | 2004-05-17 | 2004-04-17 | 2004-03-17 | 2004-02-17 | 2004-01-17 | 2003-12-17 | 2003-11-17 | 2003-10-17 | 2003-09-17 | 2003-08-17 | 2003-07-17 | 2003-06-17 | 2003-05-17 | 2003-04-17 | 2003-03-17 | 2003-02-17 | 2003-01-17 | 2002-12-17 | 2002-11-17 | 2002-10-17 | 2002-09-17 | 2002-08-17 | 2002-07-17 | 2002-06-17 | 2002-05-17 | 2002-04-17 | 2002-03-17 | 2002-02-17 | 2002-01-17 | 2001-12-17 | 2001-11-17 | 2001-10-17 | 2001-09-17 | 2001-08-17 | 2001-07-17 | 2001-06-17 | 2001-05-17 | 2001-04-17 | 2001-03-17 | 2001-02-17 | 2001-01-17 | 2000-12-17 | 2000-11-17 | 2000-10-17 | 2000-09-17 | 2000-08-17 | 2000-07-17 | 2000-06-17 | 2000-05-17 | 2000-04-17 | 2000-03-17 | 2000-02-17 | 2000-01-17 | 1999-12-17

Key: Value:

Key: Value:

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






=20

=20
=20


=20

=20

=20

=20

=20
=20


=20

=20

=20

=20
=20


=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20
=20


=20

=20
=20


=20

=20
=20


=20

=20

=20

=20

=20
=20





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

This edition was made possible by the n.com/manwar">supporters of our cause.

=20


You can read the ne=
wsletter on the web
, if you prefer.

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


berry/releases/tag/SP_54201_64bit" style=3D"
font-size: 18px;
font-weight: bold;
">Strawberry Perl 5.42.0.1 64-bit UCRT



The release notes are in draft form only and need to be ed=
ited before being uploaded to the website. In particular, DBD::MySql is not=
part of the release.


=20

=20
=20



Articles

=20


=20
>


-chi" style=3D"
font-size: 18px;
font-weight: bold;
">Caching using CHI


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


Here is piece of work that demonstrates the power of Perl'=
s modern ecosystem by taking a common, real-world problem (caching) and sho=
wcasing a robust, modular solution (the CHI module).


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=20


=20
>


n-factory/" style=3D"
font-size: 18px;
font-weight: bold;
">Design Pattern Factory


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


An educational article, it successfully demystifies the Fa=
ctory Pattern by grounding it in a concrete, relatable example. The post is=
exceptionally well-structured moving from a real-world problem to a subopt=
imal solution and finally to an elegant implementation of the pattern.


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=20


=20
>


/migration-direction-has-matter.html" style=3D"
font-size: 18px;
font-weight: bold;
">Migration direction has matter!


=20
by rl.org/users/eugen_konkov/">Eugen Konkov
=


This is a highly technical, niche and opinionated post aim=
ed at a very specific audience: system administrators or developers maintai=
ning legacy Perl code that interacts with databases.


=20

=20
=20


=20
>


-perl-rebounds-in-tiobe-index-why.html" style=3D"
font-size: 18px;
font-weight: bold;
">Perl Rebounds In TIOBE Index - Why?


=20
by Nikos Vaggalis
=


The article is valuable as a news brief. It informs reader=
s that Perl is still active and may be experiencing a renewal of interest. =
It introduces valid, positive points about the language. It identifies a re=
levant trend, accurately describes Perl's strengths, positive and readable.


=20

=20
=20



Grants

=20


=20
>


dev_august_2025" style=3D"
font-size: 18px;
font-weight: bold;
">PEVANS Core Perl 5: Grant Report for August 2025



=20


=20

=20
=20


=20
>


perl_tonyc_august_2025" style=3D"
font-size: 18px;
font-weight: bold;
">Maintaining Perl (Tony Cook) August 2025



=20


=20

=20
=20


=20
>


perl_dave_mitchell_august_2025" style=3D"
font-size: 18px;
font-weight: bold;
">Maintaining Perl 5 Core (Dave Mitchell): August 2025>


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


hallenge-339" style=3D"
font-size: 18px;
font-weight: bold;
">The Weekly Challenge - 339


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


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 joi=
n us and have fun every week. For more information, please read the =3D"https://theweeklychallenge.org/faq">FAQ.


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=20


=20
>


ge-338" style=3D"
font-size: 18px;
font-weight: bold;
">RECAP - The Weekly Challenge - 338


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


Enjoy a quick recap of last week's contributions by Team P=
WC dealing with the "Highest Row" and "Max Distance" tasks in Perl and Raku=
. You will find plenty of solutions to keep you busy.


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=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
>


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


on-of-maximums-4jm1" style=3D"
font-size: 18px;
font-weight: bold;
">Maximal maximization of maximums


=20
by Bob Lied

yle=3D"font-size: 16px">
It is a well-written, clear and practical walkthrough of s=
olving the weekly challenge. It successfully achieves its goal of explainin=
g the thought process and implementation for the first task. The post is te=
chnically sound, easy to follow and demonstrates good coding practices.


=20

=20
=20


=20
>


ly_challenge_week_338.html" style=3D"
font-size: 18px;
font-weight: bold;
">Perl Weekly Challenge: Week 338


=20
by Jaldhar H. Vyas
=


This is a classic example of a "code golfer" or "one-liner=
" approach to solving coding challenges. The solutions are exceptionally co=
ncise and leverage the high-level features of Raku and Perl to their fulles=
t. The focus is on brevity and clever use of built-in operators rather than=
on readability, educational value or software engineering best practices.


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


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


ge-club/tree/muthm-338/challenge-338/matthias-muth#readme" style=3D"
font-size: 18px;
font-weight: bold;
">Higher and Higher


=20
by Matthias Muth
=


This is a masterclass in writing concise, idiomatic and ef=
ficient Perl. Matthias demonstrates a deep understanding of the language's =
functional programming capabilities and standard libraries. The solutions a=
re not just correct; they are elegant and demonstrate a clear preference fo=
r clarity and performance over brute force.


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Maxwell=E2=80=99s Silver Highest


=20
by rl.org/users/packy_anderson/">Packy Anderson (<=
a href=3D"https://metacpan.org/author/PACKY">PACKY) span>


A solid, correct and engaging post. The solutions are tech=
nically sound and nicely idiomatic in each language.


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


ie-hatleys-solutions-in-perl-for_9.html" style=3D"
font-size: 18px;
font-weight: bold;
">Mad Max Beyond Perldome


=20
by oftware.blogspot.com/">Robbie Hatley
=


This is an exemplary model of how to write clean, professi=
onal and well-documented solutions to coding challenges. The code prioritiz=
es readability, robustness and maintainability over cleverness or brevity.


=20

=20
=20


=20
>


ekly_Challenge_338__Highest_to_the_Max.html" style=3D"
font-size: 18px;
font-weight: bold;
">Highest to the Max


=20
by edrake.org/">Roger Bell West (//metacpan.org/author/FIREDRAKE">FIREDRAKE)
=


This is a concise, efficient and highly practical blog pos=
t. It quickly identifies the core of the problem and implement the most eff=
icient solution with clean, idiomatic code and avoids unnecessary fluff and=
focuses on the key insights and implementations.


=20

=20
=20


=20
>


-highest-distance-4ec" style=3D"
font-size: 18px;
font-weight: bold;
">The Highest Distance


=20
by Simon Green
style=3D"font-size: 16px">
This is a well-structured, beginner-friendly and practical=
walkthrough of solving the weekly challenge. It takes a tutorial-style app=
roach, explaining thought process step-by-step in a clear and accessible ma=
nner. The post is light on deep algorithmic analysis but heavy on clarity a=
nd implementation.


=20

=20
=20



Rakudo

=20


=20
>


-org-reboot/" style=3D"
font-size: 18px;
font-weight: bold;
">2025.36 Raku.org Reboot


=20
by Elizabeth Mattijsen (=3D"https://metacpan.org/author/ELIZABETH">ELIZABETH) =


The reboot of raku.org is a masterclass in modern open-sou=
rce pragmatism. It successfully transforms a stagnant, manually-curated web=
page into a vibrant, automated showcase of the language it represents.


=20

m/img/elizabeth_mattijsen.png" title=3D"Elizabeth Mattijsen" width=3D"80" /=
>
=20



Weekly collectio=
ns

=20


=20
>


font-size: 18px;
font-weight: bold;
">NICEPERL's lists


=20
by blogspot.com/">Miguel Prz (etacpan.org/author/NICEPERL">NICEPERL)
=


reat-cpan-modules-released.html">Great CPAN modules released last week.


=20

=20
=20



Events

=20


=20
>


font-size: 18px;
font-weight: bold;
">Toronto.pm - online - Lightning Talks 2025



September 25, 2025


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Annual Russian Perl Conference 2025



September 27, 2025


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Boston.pm - online - (2d Tuesday)



October 14, 2025


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Toronto.pm - online - How SUSE is using Perl



December 6, 2025


=20

=20
=20



border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
">


You joined the Perl Weekly to get weekly e-mails about the Perl programming=
language and related topics.


Want to see more? See the archi=
ves
of all the issues.


Reading this as a non-subscriber? click=
here to join us
free of charge.


(C) Copyright Gabor Szabo. The article=
s are copyright the respective authors.


You can unsubscribe her=
e
if you don't want to receive mails any more.



You can freely redistribute this message if
you keep the whole message intact, including
the Copyright notice and this text.









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






=20

=20
=20


=20

=20

=20

=20

=20
=20


=20

=20

=20

=20
=20


=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20

=20
=20


=20

=20
=20


=20

=20
=20


=20

=20

=20

=20

=20
=20





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

This edition was made possible by the n.com/manwar">supporters of our cause.

=20


You can read the ne=
wsletter on the web
, if you prefer.

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


berry/releases/tag/SP_54201_64bit" style=3D"
font-size: 18px;
font-weight: bold;
">Strawberry Perl 5.42.0.1 64-bit UCRT



The release notes are in draft form only and need to be ed=
ited before being uploaded to the website. In particular, DBD::MySql is not=
part of the release.


=20

=20
=20



Articles

=20


=20
>


-chi" style=3D"
font-size: 18px;
font-weight: bold;
">Caching using CHI


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


Here is piece of work that demonstrates the power of Perl'=
s modern ecosystem by taking a common, real-world problem (caching) and sho=
wcasing a robust, modular solution (the CHI module).


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=20


=20
>


n-factory/" style=3D"
font-size: 18px;
font-weight: bold;
">Design Pattern Factory


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


An educational article, it successfully demystifies the Fa=
ctory Pattern by grounding it in a concrete, relatable example. The post is=
exceptionally well-structured moving from a real-world problem to a subopt=
imal solution and finally to an elegant implementation of the pattern.


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=20


=20
>


/migration-direction-has-matter.html" style=3D"
font-size: 18px;
font-weight: bold;
">Migration direction has matter!


=20
by rl.org/users/eugen_konkov/">Eugen Konkov
=


This is a highly technical, niche and opinionated post aim=
ed at a very specific audience: system administrators or developers maintai=
ning legacy Perl code that interacts with databases.


=20

=20
=20


=20
>


-perl-rebounds-in-tiobe-index-why.html" style=3D"
font-size: 18px;
font-weight: bold;
">Perl Rebounds In TIOBE Index - Why?


=20
by Nikos Vaggalis
=


The article is valuable as a news brief. It informs reader=
s that Perl is still active and may be experiencing a renewal of interest. =
It introduces valid, positive points about the language. It identifies a re=
levant trend, accurately describes Perl's strengths, positive and readable.


=20

=20
=20



Grants

=20


=20
>


dev_august_2025" style=3D"
font-size: 18px;
font-weight: bold;
">PEVANS Core Perl 5: Grant Report for August 2025



=20


=20

=20
=20


=20
>


perl_tonyc_august_2025" style=3D"
font-size: 18px;
font-weight: bold;
">Maintaining Perl (Tony Cook) August 2025



=20


=20

=20
=20


=20
>


perl_dave_mitchell_august_2025" style=3D"
font-size: 18px;
font-weight: bold;
">Maintaining Perl 5 Core (Dave Mitchell): August 2025>


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


hallenge-339" style=3D"
font-size: 18px;
font-weight: bold;
">The Weekly Challenge - 339


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


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 joi=
n us and have fun every week. For more information, please read the =3D"https://theweeklychallenge.org/faq">FAQ.


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=20


=20
>


ge-338" style=3D"
font-size: 18px;
font-weight: bold;
">RECAP - The Weekly Challenge - 338


=20
by rg/">Mohammad Sajid Anwar (etacpan.org/author/MANWAR">MANWAR)
=


Enjoy a quick recap of last week's contributions by Team P=
WC dealing with the "Highest Row" and "Max Distance" tasks in Perl and Raku=
. You will find plenty of solutions to keep you busy.


=20

m/img/mohammad_anwar.png" title=3D"Mohammad Sajid Anwar" width=3D"80" />
=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
>


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


on-of-maximums-4jm1" style=3D"
font-size: 18px;
font-weight: bold;
">Maximal maximization of maximums


=20
by Bob Lied

yle=3D"font-size: 16px">
It is a well-written, clear and practical walkthrough of s=
olving the weekly challenge. It successfully achieves its goal of explainin=
g the thought process and implementation for the first task. The post is te=
chnically sound, easy to follow and demonstrates good coding practices.


=20

=20
=20


=20
>


ly_challenge_week_338.html" style=3D"
font-size: 18px;
font-weight: bold;
">Perl Weekly Challenge: Week 338


=20
by Jaldhar H. Vyas
=


This is a classic example of a "code golfer" or "one-liner=
" approach to solving coding challenges. The solutions are exceptionally co=
ncise and leverage the high-level features of Raku and Perl to their fulles=
t. The focus is on brevity and clever use of built-in operators rather than=
on readability, educational value or software engineering best practices.


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


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


ge-club/tree/muthm-338/challenge-338/matthias-muth#readme" style=3D"
font-size: 18px;
font-weight: bold;
">Higher and Higher


=20
by Matthias Muth
=


This is a masterclass in writing concise, idiomatic and ef=
ficient Perl. Matthias demonstrates a deep understanding of the language's =
functional programming capabilities and standard libraries. The solutions a=
re not just correct; they are elegant and demonstrate a clear preference fo=
r clarity and performance over brute force.


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Maxwell=E2=80=99s Silver Highest


=20
by rl.org/users/packy_anderson/">Packy Anderson (<=
a href=3D"https://metacpan.org/author/PACKY">PACKY) span>


A solid, correct and engaging post. The solutions are tech=
nically sound and nicely idiomatic in each language.


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


ie-hatleys-solutions-in-perl-for_9.html" style=3D"
font-size: 18px;
font-weight: bold;
">Mad Max Beyond Perldome


=20
by oftware.blogspot.com/">Robbie Hatley
=


This is an exemplary model of how to write clean, professi=
onal and well-documented solutions to coding challenges. The code prioritiz=
es readability, robustness and maintainability over cleverness or brevity.


=20

=20
=20


=20
>


ekly_Challenge_338__Highest_to_the_Max.html" style=3D"
font-size: 18px;
font-weight: bold;
">Highest to the Max


=20
by edrake.org/">Roger Bell West (//metacpan.org/author/FIREDRAKE">FIREDRAKE)
=


This is a concise, efficient and highly practical blog pos=
t. It quickly identifies the core of the problem and implement the most eff=
icient solution with clean, idiomatic code and avoids unnecessary fluff and=
focuses on the key insights and implementations.


=20

=20
=20


=20
>


-highest-distance-4ec" style=3D"
font-size: 18px;
font-weight: bold;
">The Highest Distance


=20
by Simon Green
style=3D"font-size: 16px">
This is a well-structured, beginner-friendly and practical=
walkthrough of solving the weekly challenge. It takes a tutorial-style app=
roach, explaining thought process step-by-step in a clear and accessible ma=
nner. The post is light on deep algorithmic analysis but heavy on clarity a=
nd implementation.


=20

=20
=20



Rakudo

=20


=20
>


-org-reboot/" style=3D"
font-size: 18px;
font-weight: bold;
">2025.36 Raku.org Reboot


=20
by Elizabeth Mattijsen (=3D"https://metacpan.org/author/ELIZABETH">ELIZABETH) =


The reboot of raku.org is a masterclass in modern open-sou=
rce pragmatism. It successfully transforms a stagnant, manually-curated web=
page into a vibrant, automated showcase of the language it represents.


=20

m/img/elizabeth_mattijsen.png" title=3D"Elizabeth Mattijsen" width=3D"80" /=
>
=20



Weekly collectio=
ns

=20


=20
>


font-size: 18px;
font-weight: bold;
">NICEPERL's lists


=20
by blogspot.com/">Miguel Prz (etacpan.org/author/NICEPERL">NICEPERL)
=


reat-cpan-modules-released.html">Great CPAN modules released last week.


=20

=20
=20



Events

=20


=20
>


font-size: 18px;
font-weight: bold;
">Toronto.pm - online - Lightning Talks 2025



September 25, 2025


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Annual Russian Perl Conference 2025



September 27, 2025


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Boston.pm - online - (2d Tuesday)



October 14, 2025


=20

=20
=20


=20
>


font-size: 18px;
font-weight: bold;
">Toronto.pm - online - How SUSE is using Perl



December 6, 2025


=20

=20
=20



border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
">


You joined the Perl Weekly to get weekly e-mails about the Perl programming=
language and related topics.


Want to see more? See the archi=
ves
of all the issues.


Reading this as a non-subscriber? click=
here to join us
free of charge.


(C) Copyright Gabor Szabo. The article=
s are copyright the respective authors.


You can unsubscribe her=
e
if you don't want to receive mails any more.



You can freely redistribute this message if
you keep the whole message intact, including
the Copyright notice and this text.









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

  1. 2025-09-02 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS]
  2. 2025-09-02 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Hangout - NYLXS]
  3. 2025-09-02 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] Hunger in Israel
  4. 2025-09-03 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Hangout - NYLXS] [Jewish] Hunger in Israel
  5. 2025-09-03 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Hangout - NYLXS] [Jewish] Hunger in Israel
  6. 2025-09-03 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Hangout - NYLXS] [Jewish] Hunger in Israel
  7. 2025-09-03 Ruben Safir <ruben-at-mrbrklyn.com> Re: [Hangout - NYLXS] [ Docs ] [Jewish] Hunger in Israel
  8. 2025-09-05 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] blood is in the water...
  9. 2025-09-02 From: "Free Software Foundation" <info-at-fsf.org> Subject: [Hangout - NYLXS] =?utf-8?q?Free_Software_Supporter_=E2=80=94_Is?=
  10. 2025-09-07 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] [Barcans] Seeing the family
  11. 2025-09-07 Aviva Safir <aviva-at-gmx.us> Re: [Hangout - NYLXS] [ Docs ] [Barcans] Seeing the family
  12. 2025-09-07 Aviva <aviva-at-gmx.us> Re: [Hangout - NYLXS] [Jewish] [ Docs ] [Barcans] Seeing the family
  13. 2025-09-08 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] Reporting on whatup..
  14. 2025-09-08 Gabor Szabo <gabor-at-szabgab.com> Subject: [Hangout - NYLXS] [Perlweekly] #737 - Perl oneliners
  15. 2025-09-08 Gabor Szabo <gabor-at-szabgab.com> Subject: [Hangout - NYLXS] [Perlweekly] #737 - Perl oneliners
  16. 2025-09-09 Ruben Safir <mrbrklyn-at-panix.com> Re: [Hangout - NYLXS] [ Docs ] [Barcans] Seeing the family
  17. 2025-09-10 Ruben Safir <mrbrklyn-at-panix.com> Subject: [Hangout - NYLXS] Things are getting very serious and deadly in
  18. 2025-09-10 From: "=?utf-8?B?Q2hhaW0gRGVzc2Vy?=" <info-at-poelgroupstaffing.com> Subject: [Hangout - NYLXS] =?utf-8?q?Job_Opportunities?=
  19. 2025-09-15 Gabor Szabo <gabor-at-szabgab.com> Subject: [Hangout - NYLXS] [Perlweekly] #738 - Design Patterns
  20. 2025-09-18 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] Robert Redford has died
  21. 2025-09-24 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] Because you are a dumb mother fcker
  22. 2025-09-25 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] Tzfat
  23. 2025-09-25 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] Microsoft terminates services for Israeli
  24. 2025-09-27 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] Tump and the New World Order
  25. 2025-09-28 Ruben Safir <ruben-at-mrbrklyn.com> Subject: [Hangout - NYLXS] The violent extrremest Left that is coming to NYYC
  26. 2025-09-29 Gabor Szabo <gabor-at-szabgab.com> Subject: [Hangout - NYLXS] [Perlweekly] #740 - Perl v5.43.3

NYLXS are Do'ers and the first step of Doing is Joining! Join NYLXS and make a difference in your community today!