Time::Keeper::Natural: What time is 'next Tuesday at 3 pm'?
People do not say 2026-10-20T15:00:00+01:00. They say "next Tuesday at 3 pm", and now Perl can hear them, in 1,121 locales.
People do not say 2026-10-20T15:00:00+01:00. They say "next Tuesday at 3 pm", and now Perl can hear them, in 1,121 locales.
Time goes by at one second at a time, and that is the last simple thing about it. A second is a count...
Context::Vars is another new CPAN distribution I've published which solves a familiar problem in Perl...
HAMT is a new CPAN distribution that gives Perl three persistent containers: HAMT::Map, HAMT::Set and...
Recently I have been building https://peer2peergames.com, a site where two or more people play a...
A template engine spends its life doing the same job over and over. The task does not change between...
Authentication is where a web framework's promises get tested, because every entry point of it is a...
Every web framework does a certain amount of thinking on every request. It looks at the path and...
This is the story of two pieces of software I published recently - Hyperman, an event-loop PSGI...
I’ve always been fascinated by PDFs. They look simple on the surface. Just a document you can open...
Perl has had a complicated relationship with switch. given/when arrived leaning on smartmatch, and...
Adopting one from Zefram Back in 2011, Andrew Main, known to the Perl community as Zefram,...
This is the next tutorial in my Learning XS series. This post explores one of Perl's most powerful...
Caching is one of those things every application needs eventually. Whether it's DNS lookups, database...
So What Is A Binary Heap? A binary heap is really just an sorted array pretending to be a...
Building desktop applications has traditionally been a challenge in the Perl ecosystem. While we have...
Perl's object system is famously flexible. bless a reference, add some accessors, and you're in...
A Side note: I'm currently on look out for a new contract or permanent opportunity. If you know of...
Introduction Since I last wrote a XS tutorial my knowledge within C has increased this has...
Three modules, one goal: fast, correct identifier generation in Perl with zero runtime dependencies....
Most code formatters want to own your style. They have opinions about brace placement, line length,...
"Perl is slow." I've heard this for years, well since I started. You probably have too. And...
As most of you reading this will know, Perl has three core data types: scalars, arrays, and hashes....
So over the past few days I've built a new addition to the Perl ecosystem: the Claude Agent SDK. It's...
In the last post we investigated prototype subroutines in Perl. In this post, we will look at...
Today we are going to discuss Perl subroutine prototypes, which are a way to enforce a certain...
In programming file processing is a key skill to master. Files are essential for storing data,...
In the last post we discussed Object Oriented Programming in Perl, focusing on the basics of creating...
Object-Oriented Programming (OOP) is a widely used programming paradigm that enables the creation of...
In programming, we often want to share functionality across different parts of our code. In Perl,...
In this post we will look at how to test Perl code using the Test::More module. Like documentation,...
When you write and program in any language it is good practice to document your code. Each language...
In the last post I showed you how to create a new module and how to use it in your code. In this post...
A module in Perl is a reusable piece of code that can be included in your scripts to provide...
Regular expressions also known as regex or regexp, are a powerful way to match patterns in text. Most...
Subroutines are one of the most important building blocks in programming. They allow you to organise...
In a previous post, we learned about conditional statements in Perl. The ternary operator is an...
In the last post we learnt how to create a reference to a scalar, an array, and a hash. In this post,...
Before moving onto more complex topics lets come back to how we represent data in Perl. The most...
In previous posts, we explored variables, arrays, hashes, and conditional statements in Perl. Now...
So far we have covered basic variables in Perl, today we are going to look at how to use these...
In the last post we covered the basics of arrays, today we will look at hashes in more detail. What...
As stated in the previous post, Perl has three types of variables: scalars, arrays and hashes. Today...
I will attempt to explain things in this post in a way that is easy to understand, even for those who...
Perl has long been known as the “duct tape of the Internet,” or "the Swiss Army chainsaw of scripting...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...
Over the past year, I’ve been self-studying XS and have now decided to share my learning journey...