Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

(tye)Re3: do/redo or for(;;): what's Kosher?

by tye (Cardinal)
on Jan 05, 2002 at 05:38 UTC ( #136450=note: print w/ replies, xml ) Need Help??


in reply to Re(3): do/redo or for(;;): what's Kosher?
in thread do/redo or for(;;): what's Kosher?

I'm pretty sure that the reason is:

{ # 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")


Comment on (tye)Re3: do/redo or for(;;): what's Kosher?
Select or Download Code
Replies are listed 'Best First'.
Re(tye 2): do/redo or for(;;): what's Kosher?
by dmmiller2k (Chaplain) on Jan 06, 2002 at 08:34 UTC

    Ah, in that context, I see where this approach could be useful.

    I think I agree with you, though, that the while (1) (with scattered nexts in place of redos) accomplishes the same thing in a more self-explanatory way.

    dmm

    You can give a man a fish and feed him for a day ...
    Or, you can
    teach him to fish and feed him for a lifetime

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://136450]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (11)
As of 2015-07-31 07:45 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (275 votes), past polls