Some other possible problems: 1: if $condition is an expression with side-effects then your new construct has a different meaning then the original code.
2: if the middle part does something that changes the value of the expression $condition then the new construct again has a different meaning. besides if you really want it just define a macro. -- Mark Biggar [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] > Today on #perl6 I complained about the fact that this is always > inelegant: > > if ($condition) { pre } > > unconditional midsection; > > if ($condition) { post } > > Either you put the condition in a boolean var and check it twice, or > you use a higher order function and give it three blocks, and the > conditional. But no matter how much we try, it always feels too > "manual". > > I asked for some ideas and together with Aankhen we converged on the > following syntax: > > if ($condition) { > pre; > } uncond { > middle; > } cond { > post; > } > > s/uncond/<<pause regardless>>.pick/e; > s/cond/<<resume again>>.pick/e; > > Some restrictions: > > The block structure must always be ternary - for other cases we > already have enough control flow. > > The if is not the same if that can cuddle with else - it's either > or. > > Does anybody have any comments, or synonyms for the control > structure naming? > > BTW, I expect readability to be optimal with 1-2 lines of pre/post, > and 1-5 lines of middle. Any observations? > > -- > () Yuval Kogman <[EMAIL PROTECTED]> 0xEBD27418 perl hacker & > /\ kung foo master: /me groks YAML like the grasshopper: neeyah!!!!!! > >
--- Begin Message ---pgpC3zhriMFzT.pgp
Description: PGP signature
--- End Message ---