Skip to main content

Search

Items tagged with: Perl


During my recent debugging of a `Future`-related memory leak issue, I had occasion to swap a program from using `Future::XS`, to the pure-perl `Future::PP` implementation instead.

As the program runs a very flat stable CPU load, such a change made it easy to see the performance different such a change made.

#perl

#perl


Marlin Racing

When I first introduced Marlin, it seemed the only OO framework which could beat its constructor in speed was the one generated by the new Perl core class keyword. Which seems fair, as that’s implemented in C and is tightly integrated with the Perl interpreter. However, I’m pleased to say that Marlin’s constructors are now faster.

(Though also I forgot to include Mouse in previous benchmarks, […]

#ClassTiny #marlin #Moo #Moose #mouse #oop #perl #TypeTiny

toby.ink/blog/2026/01/11/marli…


It seems my #Perl memory leak issue is ongoing. While I managed to fix one big one, it turns out there's still a *slight* heap growth ongoing:

This time I'm going to post about debugging it in real-time, so this will be more of a story of exploration.

It starts with a monitoring graph, in which I noticed still a slight upwards trend. I restarted the process in the middle here with some extra debug modules loaded.

#perl


It used to have a memory leak. Now it doesn't.
Fixed by the help of `Net::Prometheus` and extended #Perl heap monitoring metrics.

metacpan.org/pod/Net::Promethe…

#perl


I have decided that any new releases of existing #CPAN modules that I make will now be bumped up to needing at least perl 5.20 (except in a few odd cases).

This means they can now all use a bunch more new features such as signatures. The benefits purely on line-count, readability, and the basic argument checking that it gives, already seem worth it.

Already any new dists I make tend to be 5.36+ or 5.38+ if using `class`; but this now applies to existing ones as well

#perl


Fellow #Perl fans: apologies for not updating OpenAPI::Client::OpenAI frequently enough.

A new version has been released.

metacpan.org/pod/OpenAPI::Clie…

#AI #GenAI #OpenAI #LLM


Programming languages that change how you think about programming...

* Assembly
* BASIC
* Forth
* Haskell
* Lisp
* Perl
* Raku

What else should be on this list?

#programming #assembly #basic #freebasic #forth #haskell #lisp #perl #rakulang


On day 20 of The Perl Advent Calendar Michael Schröder, @tinita and Oliver Kurz present how SUSE uses Perl for openQA and the Open Build Service. 🎄💻

perladvent.org/2025/2025-12-20…

#perl @perl @tag-perl #programming


On day 19 of The Perl Advent Calendar
@book introduces The Underbar, a podcast recording conversations and stories from the Perl community to preserve its history. 🎄🎙️

perladvent.org/2025/2025-12-19…

#perl @perl @tag-perl #programming


On day 18 of The Perl Advent Calendar Bartosz Jarzyna shows us how to safely make emergency production hotfixes with App::Transpierce's automatic backups and restore scripts. 🎅🔧

perladvent.org/2025/2025-12-18…

#perl @perl @tag-perl #programming


On day 17 of The Perl Advent Calendar @pjcj shows us how to use Moose's lazy attributes to refactor complex methods into smaller, individually testable pieces. 🦌💻

perladvent.org/2025/2025-12-17…

#perl @perl @tag-perl #programming


On day 16 of The Perl Advent Calendar José Joaquín Atria shows how Santa's elves use OpenTelemetry::Instrumentation::namespace to automatically generate telemetry from any Perl package without writing custom instrumentation libraries. 🎅🔍

perladvent.org/2025/2025-12-16…

#perl @perl @tag-perl #programming


On day 15 of The Perl Advent Calendar Blabos de Blebe demonstrates how to use Mojolicious::Plugin::Mount to glue together small Mojo apps as mocks for testing applications that call multiple external services. 🎄🔧

perladvent.org/2025/2025-12-15…

#perl @perl @tag-perl #programming


On day 14 of The Perl Advent Calendar @perigrin continues yesterday's story, revealing how Santa's team used Critical Chain project management alongside No Estimates to identify dependencies and ship NaughtyNice 3.0 on schedule. 🎅⛓️

perladvent.org/2025/2025-12-14…

#perl @perl @tag-perl #programming


On day 13 of The Perl Advent Calendar Chris Prather tells how Santa's workshop rebuilt their NaughtyNice system in 24 days using "No Estimates"—breaking work into daily slices and measuring throughput instead of guessing timelines. 🎅📊

perladvent.org/2025/2025-12-13…

#perl @perl @tag-perl #programming


On day 12 of The Perl Advent Calendar, Sawyer X shows us how Melian, a high-speed in-memory caching server, reduces database query times from milliseconds to microseconds by loading tables into memory. 🎅⚡

perladvent.org/2025/2025-12-12…

#perl @perl @tag-perl #programming


On day 11 of The Perl Advent Calendar @geekruthie demonstrates how to generate Mondrian-style abstract art paintings using Perl with Moo, Imager, and SVG modules. 🎨🐪

perladvent.org/2025/2025-12-11…

#perl @perl @tag-perl #programming


On day 10 of The Perl Advent Calendar John Napiorkowski introduces PAGI, an async-capable web framework specification that brings WebSockets and Server-Sent Events to Perl while supporting legacy PSGI apps. 🎄💻

perladvent.org/2025/2025-12-10…

#perl @perl @tag-perl #programming


On day 9 of The Perl Advent Calendar kobaken shows us how Test2::Plugin::SubtestFilter enables running specific subtests by name, making test development faster and more focused. 🎄🔧

perladvent.org/2025/2025-12-09…

#perl @perl @tag-perl #programming


@enigma That was a lesson we learned for Perl signatures. Each parameter default is an expression that is evaluated when it is needed at calltime. The equivalent example in #perl would get a fresh arrayref every time.


On day 8 of The Perl Advent Calendar Charlie Gonzalez shows us how Santa's workshop uses Data::Random::Contact to generate realistic test data. 🎅⌨️

perladvent.org/2025/2025-12-08…

#perl @perl @tag-perl #programming


Sensitive content


Sensitive content


On day 7 of The Perl Advent Calendar Bartosz Jarzyna shows us how Santa's letter-reading team uses Storage::Abstract to manage where Christmas letters get stored—filesystem? Database? Cloud? Doesn't matter. Write your code once, swap backends later. Plus, testing with in-memory storage. 🎅📮

perladvent.org/2025/2025-12-07…

#perl @perl @tag-perl #programming


Sensitive content


Sensitive content


Sensitive content


Sensitive content


On day 5 of the Perl Advent Calendar, Mike Whitaker shows us how Santa's workshop uses LWP, constant and JSON to keep up to date on new toys.

perladvent.org/2025/2025-12-05…

#perl @perl @tag-perl #programming


Sensitive content


On day 4 of the Perl Advent Calendar, Dragos Trif shows us how Santa's security team uses Lynis, ClamAV and Perl to stop the evil Grinch.

perladvent.org/2025/2025-12-04…

#perl @perl @tag-perl #programming


Sensitive content


Sensitive content


On day 3 of the Perl Advent Calendar, @ology gives us a tour of Santa's Secret Music Studio. Spoiler: he controls his MIDI devices with Perl.

perladvent.org/2025/2025-12-03…

#perl @perl @tag-perl #programming


Sensitive content


i have a website, mostly built up 15 or so years ago, written in a #perl based system named #mason - mason 1 to be specific. i'm transitioning it to a virtual server running #nginx, and it's challenging. Mason 1 was pretty specific to apache2, but supposedly can be gotten to run with nginx using #fastcgi. i now have the new server providing pages via fastcgi, but the mason processing is not happening. having trouble finding a mason community online anymore; can anyone provide guidance?


#TodayIAchieved (well actually it was yesterday) a new Data::Checks constraint, that only accepts objects that implement an entire given set of method names. It's a decent step towards being able to define a "named interface" semantic.

#perl

metacpan.org/pod/Data::Checks#…


I don’t realise that the London Perl & Raku Workshop 2025 is next week. Anyone going? #perl act.yapc.eu/lpw2025/
#perl


My biggest mistake in the design of the new object system for the #Perl core is that I didn't make methods private by default.

Had I proposed it, I think it would have been the right thing to do. Pretty sure there would have been a rebellion against me.

#perl


#TodayIAchieved support in #perl extended subroutine signatures for refalias parameters. That is, parameters that act like lexical variables within the function, but which in fact just alias to variables passed in by the caller

metacpan.org/pod/Sublike::Exte…


Current status: creating a web interface for the excellent database change management system, sqitch. sqitch.org/

Sadly, I don't have as much time to write software in my current role, so this is a nice distraction for my limited free time.

#Perl #Sqitch #Database


Boston Perl Mongers monthly tech&social virtual meeting, Tuesday 11/11 7.30ish EDT 🇺🇸
#perl #Perl5

mobilizon.us/events/6fa436f6-c…


Always interesting writing some things in #Perl when you've last touched that language 10ish years ago.

Never had written a #unittest in Perl either, so #TIL how to do that.