{
# do loop stuff to be done at least once
last if BREAK-CONDITION;
# do middle loop stuff <<< This part was left out
redo;
}
which I'd still use while(1) for. Plus it allows you to do:
{
# read next line
last if NoMoreLines
# extract item from line
redo if NoItemInLine
last if EndOfItemListFound
# categorize item
redo if WrongItemCategory
# check for updates
redo if NoUpdatesThisCategory;
# check permissions
last if NoUpdatesAllowed;
redo if ThisUpdateNotAllowed;
# do update
redo if NotFatal;
# handle fatal error
# (note, no "redo" here so this part isn't really
# part of the "loop", just stuff to do once unless
# "last" gets triggered above.)
}
# done with items
where it is very easy to throw in a new check or new code in. But, as I said elsewhere, I find that power to be too easy to abuse. YMMV.
-
tye
(but my friends call me "Tye") |