|Do you know where your variables are?|
Am I overlooking something?
Yes. You are copying the entire array. What was the point of passing a reference?
That's a very costly operation even for moderately large arrays, just to avoid indirecting through the reference.
But if you can avoid indirect syntax for array and hashes, and avoid copying, and retaining read/write access; all for the cost of naming the argument; all achieved with no action at a distance -- everything is confined to the scope of the subroutine -- then I think that the "syntactic advantages" are clear.
Try re-writing this without aliasing and it will either be much less clear syntactically; or vastly less efficient:
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.