reverse() modifies its argument
After calling reverse($var), the value of $var is changed to be in reverse order.
reverse is implemented as
arg is an iterator. The problem is that (a) if
arg is a ForArray iterator, then
reverse() modifies its argument in-situ.
So the code needs to ensure that the array is copied before calling
reverse(), or perhaps to avoid the
expand() operation and prepend each item returned by the iterator to a target array.
(Reported informally by John Lumley)
Please register to edit this issue