Since the reply before mine, Re^2: last/next/redo usages, was considered for edit/deletion with this remark, Bullying, ad hominem attack. Critique the code on its merits, I will critique the parent node and code on its merits.
The code is broken and does not compile. I would point out where and how but the author has made clear a hundred, if not five hundred times, that he is a more experienced hacker than I am, than you are, and loves to talk about how everything is easy so I wouldn't want to insult him. Also, he never takes corrections or edits nodes to reflect mistakes, thereby improving the monastery; altogether an act foreign to this monk.
The summary and advice of how and why to fix the sample code in the OP is otherwise surprisingly fine; until we read for comprehension. hurricup did not write the code, which is apparently abandoned by its CPAN author, and therefore can't take the broken code offered or even put it in a ticket and expect the author to do so and, as LanX pointed out, the OP did not even ask the question answered. Zero for three.
This concludes the critique on the merits; a critique that would have gone in a -- and a shoebox under the bed if not for a Consideration. The merits being—as presented and considering the 30 years of experience behind that would be better served with a 9th grade English class and a little Rogerian therapy—none. Well, not quite none; at least Excel, SOAP, RPC, and threads were not brought up as solutions.