develooper Front page | perl.perl6.language | Postings from June 2005

Re: return() in pointy blocks

Thread Previous | Thread Next
June 8, 2005 04:52
Re: return() in pointy blocks
Message ID:
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 }

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

which of course prints

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

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About