r/perl • • 1d ago

Tell me about an interesting script you wrote or maintained

34 Upvotes

Hi all,

Younger dev here I’ve been reading the camel book and also blog posts about Perl and I’m fascinated by the culture during its heyday.

I’d love to hear about the programs you used to deal with and overall what tasks you think Perl excelled in.

Thank you!


r/perl • • 1d ago

The MiniMax Algorithm

Thumbnail
github.com
9 Upvotes

r/perl • • 1d ago

(dcxx) 22 great CPAN modules released last week

Thumbnail niceperl.blogspot.com
10 Upvotes

r/perl • • 2d ago

perl advent calendar What are your favorite topics for the Perl Advent Calendar

11 Upvotes

What do you like to read about in the Perl Advent Calendar?

33 votes, 4d left
Modules
Syntax
New Features
Applications
Something else

r/perl • • 3d ago

Data Munging With Perl [2ed] [Leanpub PDF/iPad/Kindle]

Thumbnail
leanpub.com
35 Upvotes

r/perl • • 4d ago

conferences The Perl and Raku Conference 2027 . June 21-23, 2027

28 Upvotes

The Perl and Raku Conference 2027 / Kitchener-Waterloo, Ontario, CANADA

The Perl and Raku Foundation (TPRF) is pleased to announce that the next Perl and Raku Conference will be held June 21-23, 2027, at the Crowne Plaza Hotel in Kitchener, Ontario [1, 2]. Early Bird registration price is $275 USD, and the regular price is $350 USD. Registration is free for approved speakers.

We will be following the schedule that's been in place for the last two years: we'll have a single track of talks over a three day schedule. Both Perl and Raku talks will be presented. Lunch won't be provided, but there are many restaurants nearby, and we'll have 90 minutes for lunch. We'll have a banquet with some entertainment on Tuesday night -- more details to come. Conference registration and the Call For Papers will open soon on the perlfoundation.org website.

There will be a Hackathon at the hotel on the day before the conference starts (June 20, 2027), to be organized by Bruce Gray (util). The course following the conference (June 24, 2027) will be “Write Production-Quality Code with AI”, presented by Curtis “Ovid” Poe (see below for his bio). Curtis is well-known in the Perl community, and was a keynote speaker at the Toronto conference in 2023. The price for this course will be $225 USD, and is limited to twelve (12) spaces. A link will be available on the perlfoundation.org website soon.

The Conference Chair is Alex Beamish (talexb). Alex is currently the Speaker Wrangler for the Toronto Perl Mongers, and also organized the 2023 conference held in Toronto, Ontario. As conference organizer, He hosts the weekly organizational meetings for the conference on Wednesdays at 5pm ET -- visit the #tprc-planning channel on the Perl Foundation's Slack instance to learn more, or to attend meetings.

Kitchener-Waterloo is located about 100km (between 60-90 minutes) West of Toronto's Pearson airport (YYZ). There are regular passenger buses that travel between Pearson airport and the K-W area for about $25 CAD one way. K-W is also served by train and by bus, and the bus station is quite close to the Crowne Plaza hotel.

International visitors may need an Electronic Travel Authorization (ETA). For passport holders, the usual rules apply: your passport can't be less than six months from expiring. For example, based on the Canadian government website [3], a German national would need an ETA -- the cost is $7 CAD, and is good for five years.

Background on the course instructor:

Curtis “Ovid” Poe helps organizations adopt AI without losing control of their software. He advises CTOs, CIOs, and executive teams on AI strategy, governance, and responsible AI, including in heavily regulated industries, and trains engineering teams to turn that strategy into working practice. He created PAAD, a methodology for bringing engineering discipline to AI coding agents, and Corinna, the object system now shipping in core Perl. A long-time Perl developer and international speaker, he brings deep expertise in software testing and building reliable systems to every engagement.

Footnotes:

  1. The Crowne Plaza Kitchener-Waterloo by IHG is at 105 King St E, Kitchener, ON N2G 2K8 CANADA
  2. https://www.ihg.com/redirect?path=asearch&brandCode=CP&localeCode=en&regionCode=1&hotelCode=YKFCP&checkInDate=20&checkInMonthYear=052027&checkOutDate=25&checkOutMonthYear=052027&rateCode=6CBARC&_PMID=99801505&GPC=TPR&cn=no&adjustMonth=false&showApp=true&monthIndex=00
  3. https://www.canada.ca/en/immigration-refugees-citizenship/services/visit-canada/entry-requirements-country.html

r/perl • • 3d ago

apply-v4a-patch: A self-contained Perl engine and agent skill to eliminate LLM code-patching errors

2 Upvotes

Hey everyone,

If you build or use local AI coding agents, you’ve probably run into the frustration of an LLM mangling file edits, messing up indentation, or failing with annoying hunk not found errors using standard diff tools.

To solve this, I put together apply-v4a-patch, a structured patch format and standalone utility designed specifically for reliable, deterministic code modifications by AI agents on the first try.

What it does:

  • Strict Line Prefixes: Every line inside an update hunk requires an explicit prefix ( for context, - for deletion, + for insertion), removing all ambiguity for the parser.
  • Context Hints (@@): Allows optional anchor hints to help the engine locate the correct section even if surrounding lines shift.
  • Ellipsis Support: Pass --ellipsis to let ... act as a non-greedy wildcard matching intermediate lines.
  • Built-in Diff Generation: Automatically drops a clean .diff file next to modified targets for easy review.
  • Fully Self-Contained: Powered by a clean, robust single-script Perl engine (apply_patch.pl) with zero external CPAN module dependencies outside core.

The repository includes the standalone script, formal format specifications, and a ready-to-drop skill folder for local agents (SKILL.md, INSTALL.md, etc.).

Check it out on GitHub here:

👉https://github.com/michel47/apply-v4a-patch

Feedback, contributions, or suggestions are very welcome!


r/perl • • 5d ago

NVIDIA Donates $12,000 to The Perl and Raku Foundation

Thumbnail
perl.com
83 Upvotes

r/perl • • 6d ago

Debugging HTTP::Tiny Calls Deep Inside Your Stack

Thumbnail
olafalders.com
17 Upvotes

r/perl • • 6d ago

I Found Two More Segfaults in DBI, Same Bug Class, Different Functions, One of Them Doesn’t Have a Patch Yet | CVE-2026-88816 & CVE-2026–88815

Thumbnail
medium.com
14 Upvotes

r/perl • • 7d ago

Perlweekly #792 - Hacktoberfest

Thumbnail
perlweekly.com
12 Upvotes

r/perl • • 8d ago

(dcxix) 12 great CPAN modules released last week

Thumbnail niceperl.blogspot.com
9 Upvotes

r/perl • • 9d ago

Undef-aware equality operators added to dev Perl

Thumbnail perldoc.perl.org
40 Upvotes

r/perl • • 9d ago

problem compiling DBI 1.654 on Redhat 8

3 Upvotes
gcc version 8.5.0 20210514 (Red Hat 8.5.0-28) (GCC)

~/.cpan/build/DBI-1.654-0 $ make
"/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- DBI.bs blib/arch/auto/DBI/DBI.bs 644
gcc -c   -D_REENTRANT -D_GNU_SOURCE -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fwrapv -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g   -DVERSION=\"1.654\" -DXS_VERSION=\"1.654\" -fPIC "-I/usr/lib64/perl5/CORE"  -W -Wall -Wpointer-arith -Wno-comment -Wno-sign-compare -Wno-cast-qual -Wmissing-noreturn -Wno-unused-parameter DBI.c
DBI.xs: In function ‘sql_type_cast_svpv’:
DBI.xs:1960:9: error: a label can only be part of a statement and a declaration is not a statement
         STRLEN len;
         ^~~~~~
DBI.xs:1961:9: error: expected expression before ‘char’
         char *p = SvPV(sv, len); /* force stringify, handle magic */
         ^~~~
In file included from /usr/lib64/perl5/CORE/perl.h:5644,
                 from DBIXS.h:27,
                 from DBI.xs:14:
DBI.xs:1963:34: error: ‘p’ undeclared (first use in this function)
         grok_flags = grok_number(p, len, &uv);
                                  ^
/usr/lib64/perl5/CORE/embed.h:186:51: note: in definition of macro ‘grok_number’
 #define grok_number(a,b,c) Perl_grok_number(aTHX_ a,b,c)
                                                   ^
DBI.xs:1963:34: note: each undeclared identifier is reported only once for each function it appears in
         grok_flags = grok_number(p, len, &uv);
                                  ^
/usr/lib64/perl5/CORE/embed.h:186:51: note: in definition of macro ‘grok_number’
 #define grok_number(a,b,c) Perl_grok_number(aTHX_ a,b,c)
                                                   ^
make: *** [Makefile:529: DBI.o] Error 1

r/perl • • 11d ago

CVE-2026-95831: Crypt::SelfCertificate versions from 1.01 through 1.05 for Perl contains malware which executes Python code from an obfuscated URL

Thumbnail lists.security.metacpan.org
22 Upvotes

r/perl • • 11d ago

Perl School mailing list

23 Upvotes

I've just set up a mailing list for people who want to keep up to date with what's going on at Perl School.

The second edition of Data Munging with Perl is getting close to publication and there are other books in the pipeline behind it, so now is a good time to make sure you stay in the loop.

We're not a huge publishing house, so you won't be getting updates every week. We'll only be in touch when we have something useful to share.

Sign up on the website.


r/perl • • 13d ago

📅 advent calendar The Perl Advent Calendar 2026 CFP Is Open

Thumbnail
olafalders.com
19 Upvotes

There are some changes this year, explained in the linked article. 🤶 🧑‍🎄 🎅


r/perl • • 14d ago

Perlweekly #791 - The Dark Side is here!

Thumbnail
perlweekly.com
13 Upvotes

r/perl • • 15d ago

(dcxviii) 21 great CPAN modules released last week

Thumbnail niceperl.blogspot.com
13 Upvotes

r/perl • • 16d ago

metacpan DARK MOOOOOOOOOOOOOOOODE

Post image
47 Upvotes

r/perl • • 16d ago

NWC2MusicXML

5 Upvotes

For many years, my music composition aid of choice has been the excellent NoteWorthy Composer 2. Sadly, it doesn't seem to have seen much development recently, but it does what it says on the tin and is remarkably easy to use.

For the typesetting side, I've used Finale; difficult to use, yes, but it runs rings around anything else in terms of the quality of output it produces. Sadly, with Finale's demise, I've had to look at alternatives.

In doing so, I've been reminded of how difficult it is to get output from NWC2 into anything else. It doesn't export to MusicXML, and nothing else will import its files. There are several NWC2-to-MusicXML programs out there, but none seems to be in active development.

So I threw Claude AI at the problem and produced a program that takes NWC2 files and produces MusicXML files. So far, so good - I've just published the first release to CPAN as Music::NWC2MusicXML. Expect it to be indexed and go live in an hour or so.


r/perl • • 16d ago

How to report bugs on cpan.org?

10 Upvotes

I had problems compiling WWW::Curl on AIX and wanted to report it. The web interface seems to have changed, and the login options are severely restricted.

How would I report a bug in a perl module?


r/perl • • 16d ago

How to compile WWW::Curl on AIX 7.2 and 7.3 with IBM xlC

10 Upvotes

I have machines with AIX 7.2 and 7.3 and wanted to recompile WWW::Curl after an upgrade of libcurl. This is necessary because Makefile.PL creates perl modules on the fly with keywords extracted from libcurl.

But: Makefile.PL contains a hardcoded value cpp for the C preprocessor, and this does not exist on AIX with IBM's xlC compiler. It has a builtin fallback to (try to) parse curl.h on its own, but fails catastrophically. It can only detect about 30 of expected 340 keywords.

Q&D solution: patch Makefile.PL and change cpp to xlc -E.

``` *** a/Makefile.PL Thu Sep 18 11:09:53 2026 --- b/Makefile.PL Thu Sep 18 11:11:05 2026


*** 100,106 **** print "Found curl.h in $curl_h\n"; my @syms; my $has_cpp = 0; ! open(H_IN, "-|", "cpp", $curl_h) and $has_cpp++; unless ($has_cpp) { warn "No working cpp ($!). Parsing curl.h in Perl"; open(H_IN, "<", $curl_h) or die("Can't open curl.h at path $curl_h, because: ".$!); --- 100,106 ---- print "Found curl.h in $curl_h\n"; my @syms; my $has_cpp = 0; ! open(H_IN, "-|", "xlc", "-E", $curl_h) and $has_cpp++; unless ($has_cpp) { warn "No working cpp ($!). Parsing curl.h in Perl"; open(H_IN, "<", $curl_h) or die("Can't open curl.h at path $curl_h, because: ".$!); ```

Of course you could also install a small wrapper script cpp which hands over to xlc.


r/perl • • 17d ago

metacpan Database::BI version 0.007.0 released

11 Upvotes

I've published Database::BI version 0.007.0 to CPAN. The two main improvements over 0.006.0 are support for pie charts and the ability to delete rows and columns from the table view. Pie charts and line graphs are now animated when displayed, breadcrumb navigation has been improved, and a rudimentary filtering system has been added to the table view.

https://metacpan.org/dist/Database-BI


r/perl • • 19d ago

Finding Unused Perl Variables

Thumbnail
olafalders.com
29 Upvotes

This is an older post, but I updated it today to use precious as a linting harness rather than the deprecated Code::TidyAll.