in reply to Using Array Refs

Nope it's documented - see perlsyn:

If any element of LIST is an lvalue, you can modify it by modifying VAR inside the loop. Conversely, if any element of LIST is NOT an lvalue, any attempt to modify that element will fail. In other words, the foreach loop index variable is an implicit alias for each item in the list that you're looping over.

That the "list value" is a de-referenced array ref doesn't make any difference here - the elements are still lvalues

/J\