Deleted all text.
Sorry, My observation is already covered.
Quote from the "Foreach Loops" section of perlsyn:
If any part of LIST is an array, foreach will get very confused if you add or remove elements within the loop body, for example with splice. So don't do that.