r/perl • u/galratner • 15h ago
ref to object methods
sorry for stupid question
I have XS object with many similar methods (with the same argument list) like method1,method2, ... methodN
And while passing ref to this object to sub I want to call some of this methods depending on condition
Sure I can emulate this with refs to closures like
my $call1 = sub {
my $obj = shift;
$obj->method1(@_);
};
generic_sub($obj, $cond ? $call1 : $call2);
but maybe there is some more elegant way?
The Long Life of WWW::Shorten
Dealing with my old CPAN email address sent me down a bit of a rabbit hole.
r/perl • u/reisinge • 2d ago
Collectables
I started a section on my site called collectables: short programs (and writings) worth keeping around and rereading. One of the first four is Larry Wall's rename example from the Perl repo:
#!/usr/bin/perl
($op = shift) || die "Usage: rename perlexpr [filenames]\n";
if (!@ARGV) {
@ARGV = <STDIN>;
chop(@ARGV);
}
for (@ARGV) {
$was = $_;
eval $op;
die $@ if $@;
rename($was,$_) unless $was eq $_;
}
What other short Perl would you put in a collection like this? It should be small, beautiful and useful.
r/perl • u/niceperl • 2d ago
(dcxxi) 15 great CPAN modules released last week
niceperl.blogspot.comr/perl • u/sumanstats • 3d ago
Simplifying perl package management in windows
CPAN packages are one of the reasons behind success of Perl. But all packages does not install in windows (I am in windows). I cannot comment on how difficult are they in macOS.
For example there are a lot of plotting packages in perl:

But they won’t work even with specially packaged perl for windows: strawberry perl. This is what I had encountered https://github.com/StrawberryPerl/Perl-Dist-Strawberry/issues/26 which is still unresolved.
The R people (CRAN) have taken excellent care of such issues making almost all packages in CRAN installable and functional in both windows and macOS with a simple command install.packages(<>).

Even a rust package with a lot of crate dependencies https://cran.r-project.org/web/packages/gifski/index.html is easily installable in windows with same command install.packages(“gifski”). And end user does not need to know anything other than the install command. It works flawlessly. The good part of CRAN is that the uploaded package should build and test on all platforms (Win, MacOS, linux) without issues.
Can’t similar thing be achieved in perl for CPAN packages (cross-platform software distribution problem)? So that a naive end user can do the work without knowing obscure "dependencies". The good and hopeful part is that there are free continuous testing facilities like github actions where one can test the package in all OSes.
r/perl • u/Even-Ambassador8176 • 5d ago
Perl IDE Developer Survey is now live for 2026!
survey.perlide.orgr/perl • u/Inner_Tap675 • 6d ago
A Perl compiler
Version 0.1 is done of my hobby project, a compiler toolkit for Perl. https://github.com/Percolisp/pcl
The repository should contain everything needed to continue the work, including the logs from the AI sessions. The README has installation instructions and specifics about what is supported.
It is tested mostly with Perl's own test suite, regression tests and some pure-Perl modules. The compatibility is quite good, apart from the documented limitations (regexp evals etc.)
Common Lisp was chosen as the first target, because it has both a compiler and a powerful macro system (so the generated code can serve as intermediate code for other environments). The next step is to try compiling to more targets, to verify that the intermediate code really is easy to work with. After that comes the holy grail of CPAN compatibility: XS support.
I need feedback, both on how well the installation works and on whether this is worthwhile at all. So it is time to announce it and see if people like it, laugh or shrug. :-)
(This started as an add-on to PPI for parsing expressions. The idea was that we would then have the tools needed to write Perl compilers. Since no one cared, I turned my compiler prototype into a more ambitious tool for writing compilers; I needed to learn how to work with AIs anyway. If there is still no interest, I'll probably find another hobby. :-) )
conferences Perl-Conf . Ru: Russian Perl Conference (Moscow & Online) – Oct 24, 2026
The annual Russian Perl community conference, Perl-Conf . Ru / 26, is happening on October 24, 2026. It will be a hybrid event held live in Moscow with a global online stream.
Participation is completely free, but registration is required.
Talk Highlights:
- GUI development with Perl: From the general landscape to practical use with
Tcl::Tk(Vadim Konovalov, Gazprombank). - Perl as an AI Orchestrator: MCP integration for aggregation services (Nikita Komarov, VTB).
- Writing a custom language and compiler: Keeping your developer edge in the age of AI (Vadim Goncharov, MTS).
- Perfect window tiling on Perl: Making your desktop workflow seamless (Sergey Zhmylyov, conference organizer).
see also the latest post on r/RuPerl
r/perl • u/aspeer314 • 7d ago
Perl documentation (including POD) with Markdown and Docbook
I have been using Markdown to create man pages for the various modules and utilities I write as sidecar companion files (i.e. the same name as the source file with .md appended)
I have released some toolchain modules to CPAN that allow these sidecar files to be converted to POD and merged into the source files. This will probably horrify POD purists (and it's not perfect by any stretch) - but does allow for easier browsing of documentation on sites like GitHub.
There are also some MakeMaker extensions that allow the conversion to take place with a simple make doc command.
Extending this concept to more generic module documentation (beyond README.md) files or man pages. the tooling allows for Markdown or Docbook files in a distribution doc/ directory to be converted to HTML and published to static sites such as Github Pages.
Similar MakeMaker extensions allow the documentation to be published with a target such as make publish_gh-pages
As an example you can see what the output looks like on the Github Page of the CloudFlare::API module, look in the module Github Repo doc/ for source files.
Markdown is fine and fully supported for documentation- but Docbook is a novelty. Why Docbook ? It's semantically richer, and tools like the XMLMind XXE Docbook editor allow for word processor like construction and management of documentation. XML also allows for the xinclude concept, which is nice when you want to bring in example code from your repo.
In theory you could/should be able to get a stylesheet to convert Docbook to Markdown (is anyone aware of one ?) but in the absence of that I have just used the pandoc hammer for conversion (although the Docbook::Convert module has a fallback to actual code parsing and conversion that I tried before giving up an using pandoc).
If any of this interests you there is a blog post available for more information, and all modules are published to CPAN.
There's probably some justified constructive feedback about naming conventions and module separation of duties which I would take on board - but these have been largely internally used as development tools, so haven't had a lot of polish applied in that regard. If you feed totally offended at the use of Pod vs POD in the module name let me know and I'll consider a rename if these classes are considered useful by the community.
r/perl • u/codegems • 9d ago
Tell me about an interesting script you wrote or maintained
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 • u/niceperl • 9d ago
(dcxx) 22 great CPAN modules released last week
niceperl.blogspot.comr/perl • u/briandfoy • 10d ago
perl advent calendar What are your favorite topics for the Perl Advent Calendar
What do you like to read about in the Perl Advent Calendar?
r/perl • u/briandfoy • 11d ago
Data Munging With Perl [2ed] [Leanpub PDF/iPad/Kindle]
apply-v4a-patch: A self-contained Perl engine and agent skill to eliminate LLM code-patching errors
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
--ellipsisto let...act as a non-greedy wildcard matching intermediate lines. - Built-in Diff Generation: Automatically drops a clean
.difffile 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 • u/mdperry123 • 12d ago
conferences The Perl and Raku Conference 2027 . June 21-23, 2027
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:
- The Crowne Plaza Kitchener-Waterloo by IHG is at 105 King St E, Kitchener, ON N2G 2K8 CANADA
- https://www.ihg.com/redirect?path=asearch&brandCode=CP&localeCode=en®ionCode=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
- https://www.canada.ca/en/immigration-refugees-citizenship/services/visit-canada/entry-requirements-country.html
r/perl • u/briandfoy • 14d ago
Debugging HTTP::Tiny Calls Deep Inside Your Stack
r/perl • u/briandfoy • 14d 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
r/perl • u/niceperl • 16d ago