Piers Cawley wrote:
My preference is for:

    Boo
    Boo
    Can't dereferene literal numeric literal 42 as a coderef.

How do you reach the second 'Boo'? Iff -> does not create a Sub
but a Block instance then Luke's code can be interpreted as a
much smarter version of

   sub foo()
   {
       enter: 42;
       if $?RETURN_LABEL { goto $?RETURN_LABEL }
       return;
   }

    say "Boo!";
    say goto foo::enter; # goto sets up $?RETURN_LABEL
    say "after goto";

which of course prints

   Boo
   42
   after goto

The smartness is in the value that &prefix:{'->'} returns
while in the snippet above it is explicitly coded.

Or do I completely misunderstand the distinction between
blocks and closures?
--
TSa (Thomas Sandlaß)


Reply via email to