in reply to removing the goto

xyz: foreach () { next xyz; # UPDATE: it has been brought to my attention that # shmem's "redo" below (and right here) is a better choic +e. # Alas, I pictured this upside down. }

That definitely isn't quite the same, but it's possibly less objectionable.

Personally, I find the goto statement perfectly acceptable, when not abused. Call it a longjump if you like, sometimes it just makes sense to use it.

-Paul