in reply to at continue, last

I don't get it

while( ... ) { --$loop; ... }

The repeated decrements are not DRY.

DRY doesn't apply to match