Sorry, I keep reading it, even with your explanation, as "ignore this type".
A more positive word would be better.

I think the entire structure is too complex (is baroque the right term?).

I haven't seen a good reason that it should be any more complex than

        do BLOCK
                oops BLOCK
                always BLOCK

Where the oops modifies the BLOCK and always modifies either the oops
BLOCK or the regular BLOCK.

Why does all the unwinding stuff have to be there? Let $@ exist in
the always block the iff $@ is defined then you are unwinding and
do your wishes. Otherwise you are just falling out of the BLOCK.

Why all the extra syntax? I see no gain to the programmer or to the
perl internals.

<chaim>

>>>>> "TO" == Tony Olekshy <[EMAIL PROTECTED]> writes:

TO> Chaim Frenkel wrote:
>> 
>> Tony Olekshy wrote:
>> > 
>> > except { ... } => catch { ... }
>> > 
>> >     Invoked if unwinding and the except block returns true.
>> >     In the except block, $@ is the current exception.
>> >     If the except or catch blocks throw, unwinding continues.
>> >     If both complete without throwing, unwinding stops.
>> >     This is basically an "if" with unwinding semantics.
>> 
>> That doesn't read right. Perhaps you really mean 'accept'.
>> 
>> Main Entry: 1exˇcept
>> with the exclusion or exception of
TO>       ^^^^^^^^              ^^^^^^^^^^^^
>> Main Entry: 2except
>> to take or leave out from a number or a whole
TO>       ^^^^^^^              ^^^^^^             ^^^^^

TO> Except is if with unwinding semantics, as in "with the exception of"
TO> or "to take out from other exceptions", as listed in the definitions
TO> quoted above.  A bare catch handles all exceptions *except* those
TO> handled by previous except/catch clauses.

TO> Yours, &c, Tony Olekshy




-- 
Chaim Frenkel                                        Nonlinear Knowledge, Inc.
[EMAIL PROTECTED]                                               +1-718-236-0183

Reply via email to