Recent Posts

WWW::Mechanize Best Practices

published on
fields Recently at $work we were discussing some of the behaviours of WWW::Mechanize when submitting forms. For instance, when you pass the fields parameter to the submit_form() method, Mechanize might take a very lax approach to submitting your data. Imagine the following form: <form id="foo"> <input type="text" name="A"> <input type="text" name="B"> </form> Now take the following code: my $mech = WWW::Mechanize->new; $mech->get($some_url); $mech->submit_form( form_id => 'foo', fields => { A => 'foo', B => 'bar', C => 'baz' }, ); Mechanize will happily post all of these fields to the form for you, even though the form doesn’t contain an input with the field “C”. Read More...

My “Go for Perl Hackers” Cheatsheet

published on
Last year I found myself working on some Go code at $work. When I’m trying to pick up constructs in a new language, I find it helpful to see how I would have done the same things in Perl. This sheet is far from complete, but I think it’s already helpful. You can find it at https://github.com/oalders/go-for-perl-hackers. Comments, critique and pull requests are welcome. I’ve already had some helpful feedback via Twitter which I’ve incorporated. Read More...

New defaults for Perl Linting in Vim’s Ale Plugin

published on
In my previous post, I talked about using Ale with vim for linting and syntax checking. Since that time, the Ale defaults for Perl have changed. Perl::Critic checks are still on by default, but you will need to enable the syntax and compile checks that are run via the `perl` binary itself. The reasoning for the new default is described in the Ale docs. If you want to (re-)enable your Perl checks, you can follow the example in my dot files. Read More...

vim, Ale, Syntastic and Perl::Critic

published on
As a vim user, I’ve used Syntastic for a long time. It’s a great tool for syntax checking. However, I was recently introduced to Ale. Ale does a lot of what Syntastic does, but it does it asynchronously. The practical benefits are You should experience less lag when editing large files Ale flags problematic lines containing errors and warnings in a gutter, making it easy to find problems Detailed information about errors and warnings appear at the bottom of your buffer I may actually be underselling it. Read More...

Announcing meta::hack v2

published on
It’s that time of year again. We did a bunch of hacking on MetaCPAN at the Perl Toolchain Summit and we got a lot done, but it wasn’t nearly enough. Our TODO list never gets shorter and there are lots of folks willing to pitch in, so today I’m announcing that meta::hack v2 will take place from Nov 16-19, 2017 at Server Central in Chicago. As a reminder of how things went with meta::hack v1, please refer to my wrap-up report from that event. Read More...

How I Spent my Perl Toolchain Summit 2017

published on
This was my 5th year of being invited to participate in the Perl Tool Chain Summit (formerly Perl QA Hackathon). It was a real pleasure to be invited to a rebranded version of the same helpful event. Our Sponsors This event would not have been possible without our sponsors. Let me take a moment to thank: Booking.com ActiveState cPanel FastMail MaxMind Perl Careers MongoDB SureVoIP Campus Explorer Bytemark CAPSiDE Charlie Gonzalez Elastic OpusVL Perl Services Procura XS4ALL Oetiker+Partner Overview For the second year in a row, MetaCPAN was well represented at the event. Read More...

Viewing Your Module Permissions on MetaCPAN

published on
We’re currently at the Perl Toolchain Summit in Lyon, working hard on improving MetaCPAN. One feature which we went live with yesterday is a view on CPAN module permissions. This means that you can now easily see which modules any CPAN author has permission to upload. If you want to see every module which Neil Bowers has permissions on, you can go to https://metacpan.org/permission/author/NEILB. You can get to this page via the module permissions link on the left sidebar of a MetaCPAN author page. Read More...

Preparing for LWP Hack Night

published on
I’ve had a couple of people ask me how they can prepare for LWP Hack Night, so I thought I’d just give a quick introduction to the set of modules. I whipped up a graph of the various GitHub repositories to give you an idea of which are the most popular and which have the most open issues. Those stats seem to roughly correspond. If you want to poke around the repositories on GitHub, that will give you an idea of where you can start. Read More...


Bat (2)

Cpan (3)

Fd (3)

Fzf (3)

Go (2)

Lwpconsolelogger (1)

Metacpan (15)

Openthis (1)

Perl (37)

Perlimports (1)

Programming (27)

Prove (3)

Tab Completion (3)

Testing (3)

Vim (1)