"last? Or maybe should be next? Do you intend to jump out of the loop, or don’t you instead really mean, continue it?"
The loop for ($data) { ... } only executes once.
Neither last nor next will make it execute any more or less times.
When a match is found and the captured data is assigned to a variable, that's the last thing to be done.
Here's what the last documentation says:
"The last command is like the break statement in C (as used in loops); it immediately exits the loop in question."
That's what we want to do here: immediately exit the loop.
Here's what the next documentation says:
"The next command is like the continue statement in C; it starts the next iteration of the loop"
That's not what we want to do here: it's a one-pass loop; there are no more iterations.
[You might like to follow the link I provided in my original reply.
It has two more code examples where last is used to exit one-pass loops.]
|