The problem is not that the construction as such is problematic, but that the format of the source-code makes it had to see immediately what is happening (at least that is how I understand the question).
And I am afreid that neither perltidy nor perlcritic would have helped a lot here.