> For reasons I don't remember, the Perl interpreter allows arbitrary code in the inner "[...]" expression that creates the array reference.
...because it's an array value? Aside from how the languages handle references, how is that part any different from, for example, this in python:
>>> [5 * 'x']
['xxxxx']
You can put (almost) anything there, as long as it's an expression that evaluates to a value. The resulting value is what goes into the array.