A shift would have been more intuitive?
No, but perhaps a "my ($a,$b,$c) = @_;" would have been. Since I'm a long-time Perl programmer, I can't really speak for the newbie. But the use of the numerous $_[n]-lines is probably unclear. In any case, it is considered bad code, since it is both hard to read and error prone.
Using a foreach, instead of the C-style for loop, is certainly easier and MUCH closer to the implementation used in Quorum and Randomo. So that, at least, was very poorly thought-out. And Randomo? Is it really random? Or is it really Quorum with a bunch of substitutions made? Just look at the code samples.
When I had a look at the paper, the first thing I noticed was the use of the ampersand sigil in a function call. This has been considered bad code in Perl since time immemmorial and really goes to show to things:
* The researchers didn't know the first thing about contemporary Perl and didn't bother to find out, ie. do research.
* The researchers did nothing to make the Perl code readable, which is paramount for newbies to any language.
And worst of all, and this is really appalling, they are cherry-picking their methods. Just look at the table and the numbers, then read their analysis. And don't even get me started on the sample-size...