The only difference that I can see is that the second code has (apparently spurious) commas at the end of every arrayref—is that correct? Why is it necessary?
Of course you're right that what I wrote is far from strict-safe—thanks! Making it so would probably be harder than just giving the kind of solution the OP wanted, though. :-)