Acme-ComeFrom

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        resolved dynamically. This allows for computed "comefrom"s by
        checking the "EXPR" before every label (a.k.a. watchpoints), so you
        can write:

            # $i below evaluates in the LABEL's scope
            comefrom ("FOO", "BAR", "GLARCH")[$i];

        Starting from version 0.05, the value of EXPR is evaluated each
        time, instead of the old *frozen at the first check* behaviour. If
        this breaks your code -- as if there's any code based on comefrom --
        You may retain the original behaviour by assigning a true value to
        $Acme::ComeFrom::CacheEXPR.

    comefrom &NAME
        The "comefrom-&NAME" form is quite different from the other forms of
        "comefrom". In fact, it isn't a comefrom in the normal sense at all,
        and doesn't have the stigma associated with other "comefrom"s.
        Instead, it installs a post-processing handler for the subroutine,
        and a jump would be made just *after* the subroutine's execution.

    If two or more "comefrom" were applied to the same LABEL, EXPR or NAME,

lib/Acme/ComeFrom.pm  view on Meta::CPAN

resolved dynamically.  This allows for computed C<comefrom>s by
checking the C<EXPR> before every label (a.k.a. watchpoints), so
you can write:

    # $i below evaluates in the LABEL's scope
    comefrom ("FOO", "BAR", "GLARCH")[$i];

Starting from version 0.05, the value of EXPR is evaluated each time,
instead of the old I<frozen at the first check> behaviour.  If this
breaks your code -- as if there's any code based on comefrom --
You may retain the original behaviour by assigning a true value
to C<$Acme::ComeFrom::CacheEXPR>.

=item comefrom &NAME

The C<comefrom-&NAME> form is quite different from the other forms of
C<comefrom>.  In fact, it isn't a comefrom in the normal sense at all,
and doesn't have the stigma associated with other C<comefrom>s.  Instead,
it installs a post-processing handler for the subroutine, and a jump
would be made just I<after> the subroutine's execution.



( run in 0.424 second using v1.01-cache-2.11-cpan-1c8d708658b )