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 ---