Aaron Crane

  • Posted Perl Toolchain Summit 2019 report to Aaron Crane

    The Perl Toolchain Summit (previously known as the Perl QA Hackathon) is an annual coding workshop for people involved in the Perl toolchain, testing, quality assurance, and related issues. I was glad to be invited to this one, my fourth.

  • Posted Perl Toolchain Summit 2018 report to Aaron Crane

    The Perl Toolchain Summit (previously known as the Perl QA Hackathon) is an annual coding workshop for people involved in the Perl toolchain, testing, quality assurance, and related issues. 2018 marked ten years of the PTS, so it seems fitting that it returned to Oslo, where it was first held.…

  • Commented on Forthcoming site downtime
    The beta is still running, as described in the TPF post about it. I haven't been directly involved in that project, so I'm afraid I don't have any news about it....
  • Posted Forthcoming site downtime to Meta

    The site will be unavailable for a few hours during the night of February 16th to 17th 2017. The site will stop responding at approximately 21:00 UTC on the 16th, and is expected to be back by 05:00 UTC on the 17th.

    The reason for this downtime is that the data centre where …

  • Commented on The Coro situation
    For the record: I agree that the benefit of the original 5.21-series consting change has been massively outweighed by the cost to date, if only because of how much heat this matter has generated. However, I'm pleased to note that...
  • Commented on Why I try to avoid Perl's punctuation variables
    There's at least one valid use of $" that can't be replaced with join: my @regexes = list_of_qr_objects(); my $combined = do { local $" = '|'; qr/@regexes/ }; If any of the regex objects contain (?{ }) or (??{...
  • Commented on Applying user-supplied regexes
    Here's a slightly simpler approach. As you note, if a regex has no captures, matching against it in list context produces a list containing the single element 1. This means that list assignment of the match result will have a...
  • Commented on The removal of the lexical topic feature in 5.24
    Reini, You have been told before that personal attacks are not welcome here. I am no longer willing to provide a platform for you to publish them, and as of today, I am therefore disabling your user account here. This...
  • Posted O pumpking! My pumpking! to Aaron Crane

    As many people know by now, Ricardo Signes recently announced that he…

  • Posted Perl QA Hackathon 2016: Configure to Aaron Crane

    I write this from sunny Rugby, England, where I’m attending the QA Hackathon 2016. It’s always great to spend time with people who are active in the Perl community, not just socialising, but working on the software we all depend on.

  • Commented on Brian McCauley (1967-2015)
    I'm extremely sorry to hear that; I always thought Brian was a genuinely lovely person. Please pass on my sincere condolences to Sam....
  • Commented on On Dave Mitchell calling B and B::C a failed experiment
    The BPO administrators have decided to ban Reini from posting to the site, for a period of one month. The ban will be lifted on 19 April 2015....
  • Posted security breach to Meta

    We regret to announce that was recently the subject of a data

    An attacker gained access to the database that runs the site, and was able to take a copy of all users’ hashed passwords. We’ve therefore cleared all users’ passwords as a precaution.

    If you …

  • Commented on New feature: automatic post truncation
    We honour a split provided by the author, but only as long as the non-extended part still falls within the hard limit. My reasoning for that was to avoid any problems in the face of a long piece with an...
  • Posted Perl 5.17.8’s release epigraph to Aaron Crane

    Cross-posted from my other blog.

    Yesterday I had the pleasure of releasing version 5.17.8 of Perl. Perl has had regular, time-bo…

  • Commented on Text Processing: Divide and Conquer
    Hi, Kirk. Here’s an alternative approach that you may find interesting. I don’t have exactly the same data set as you to test against, but I reconstructed a similar case, and this takes about 205ms (on my machine, under 5.16.0)...
  • Commented on A Look At Braces
    Here's another one: iteration in globbing. $ perl -lwe 'print for <a{x,y,z}b>' axb ayb azb...
  • Posted New feature: front page pagination to Meta

    Some of you may have noticed that the front page recently acquired a new “Page 2” link. This is a feature we’ve been wanting for quite some time, to help readers scan back through the thousands of entries our users have posted in the nearly three years we’ve been…

  • Commented on Monkey-patching, subclassing, and accidental overriding
    Hi, Ovid. Thanks for the idea. Is warning (rather than throwing an exception) the right thing in your situation? My inclination is to make it an error, like the error you get when the class being patched contains a method...
  • Posted Monkey-patching, subclassing, and accidental overriding to Aaron Crane

    One of the great things about open-source software is the ability to reuse using a class that doesn't have quite enough features for what you're trying to do. What's the best way to deal with that sort of situation?

  • Commented on Can we afford bad code on
    Hi, confuseAcat. If I understand you correctly, you’re saying that this blog should be forbidden in some way. I’m totally against that; I think there’d need to be a really good reason for us to take down someone’s blog (libel,...
Subscribe to feed Recent Actions from Aaron Crane

  • commented on Text Processing: Divide and Conquer

    It would be interesting to see how Regexp::Assemble fares against these alternatives. All you would have to do is plug the following in:

    use Regexp::Assemble;
    my $regex = Regexp::Assemble->new->add(@patterns)->ra;

    ... at the top of Aaron's (most excellent) suggestion. Although while on 5.8 this will be much faster, from 5.10 onwards it will be slower, so not much win. It would be much more so if the patterns were regular expressions themselves.

  • Peter Rabbitson commented on New feature: automatic post truncation

    I understand that there are "two right answers" in this case, so do what you think it's best. Just one last idea for the problem of "900-100" split - simply add a rule of at least 40%/60% split if body and extended are both populated. Perhaps also raise the hard limit to 500 words.


  • Joel Berger commented on Why I try to avoid Perl's punctuation variables

    This is one of the few examples where i know an even better trick, at least as long as you are using DBD::Pg

    my $query = <<"END_SQL";
        SELECT  foo, bar, baz
          FROM  SomeTable
        WHERE  id = ANY(?)

    And then pass an array reference as the value. \o/

  • Merlyn Kline commented on Why I try to avoid Perl's punctuation variables

    I'm with Ovid. I love that perl will let me do very concise things and has all these features, but they should be used appropriately. Invoking perl with -e on the command line to do some one-off task is often only really possible this way, and knocking up a quick helper utility for something is much quicker and easier with these features.

    But Abigail's example wouldn't make it past review onto a production server. I'm on a multi-decade project and there's an inevitable turnover of staff so maintainability of code is critical; moreso even than having it work properly (maintainable but…

  • Steve Nolte commented on Why I try to avoid Perl's punctuation variables

    I applaud this article and others like it. At $work we are constantly fighting bugs in code that is "too clever" and not explicit. Also fascinating to see what may seem obvious to some (e.g. the Babycart operator) but quite confusing to newbies.

Subscribe to feed Responses to Comments from Aaron Crane

About is a common blogging platform for the Perl community. Written in Perl with a graphic design donated by Six Apart, Ltd.