Julien’s tech(ish) blog

A blog about Perl, coding, and making more developers

  • London Perl & Raku Workshop 2024

    Yesterday we held the 2024 London Perl & Raku Workshop. It was the 20th anniversary of the conference, but it wasn’t the 20th instalment. The previous one was in 2019, just before Covid hit, and it has taken us five years to have another. People often write blog posts about the conferences they have attended, talking about the talks they saw and the people they’ve met. I’ve never done that, but I’m going to try to do it now from an organiser perspective.

    Read more…
  • A Github Workflow guide for CPAN modules

    GitHub Actions give you Continuous integration for free. That means you can have your module’s unit tests run for you on various different versions of Perl, on Linux, MacOS and Windows, whenever you push a commit or someone opens a pull request. This is very useful to make sure contributions don’t break your code, or to enforce certain coding guidelines such as requiring code to follow a specific perltidyrc.

    Introduction

    Before you start writing your own workflows, you might want to have a quick look at the official documentation for Github Actions. The quickstart guide offers a good overview.

    Read more…
  • Installing Perl dependencies based on your Perl version in Github Actions

    Github Actions are great for running tests, especially to check if pull requests are breaking your build. You can easily set up jobs for different operating systems and Perl version using the excellent tooling already available for Perl. I will link some of these in the course of this post.

    At work I ran into an issue where I had to temporarily overwrite the value behind an accessor in a Catalyst Context object ($c). Think local $foo->{bar}, but for $foo->bar. There is no built-in way of doing that, so I made a module that is now on CPAN. It’s called MooseX::LocalAttribute, but it works with all kinds of Perl objects, not just with Moose.

    Read more…