> You don't want do have a postfix { ... } if condition.  It's evil

I don't see how this is any worse than a postfix while()

   do {
        asd;
        asdf;
        asdf;
        asf;
        asdf;
        asdf;
        sad;
        fasdfa;
        sdf;
        asdf;
        asdf;
        asf;
        asdf;
        asd;
        as;
        a;
        sdf;
   } while (<STDIN>);

> Because it hides the decision way down at the bottom, despite its
> having been made first.

We already have a trailing if statement, so this argument is edgy, at
best. The only thing that it can't do is easily span multiple lines and
expressions. Any reason why not other than style? Seems like the obvious
extension. 

Granted, the do {} is misleading. A do {} block is always executed, at
least once. We should drop the do {} if we have a trailing condition:

   {  
      stuff;
      otherstuff;
      morestuff;
   } if $x > y;

I'm not for or against this idea, but just adding some input.

-Nate

Reply via email to