perl-Acme-ComeFrom - Parallel Goto-in-reverse

Distribution: ALT Linux Sisyphus
Repository: Autoimports noarch
Package name: perl-Acme-ComeFrom
Package version: 0.11
Package release: alt1
Package architecture: noarch
Package type: rpm
Installed size: 13.28 KB
Download size: 13.28 KB
Official Mirror:
INTERCAL programmers have for a long time monopolized the enormously powerful construct `COME FROM', both as a flow-control replacement to `goto', and as a simple way to mark parallel execution branches in the multi-thread variant. But now, with Acme::ComeFrom, we Perl hackers can finally be on par with them in terms of wackiness, if not in obfuscation. Just like `goto', `comefrom' comes in three different flavors: =over 4 =item comefrom LABEL The `comefrom-LABEL' form finds the statement labeled with `LABEL' and jumps to the `comefrom' each time just *before* that statement's execution. The `comefrom' may not be inside any construct that requires initialization, such as a subroutine or a `foreach' loop, unless the targeting `LABEL' is also in the same construct. =item comefrom EXPR The `comefrom-EXPR' form expects a label name, whose scope will be resolved dynamically. This allows for computed `comefrom's by checking the `EXPR' before every label (a.k.a. watchpoints), so you can write: 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'. =item 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. =back If two or more `comefrom' were applied to the same LABEL, EXPR or NAME, they will be executed simultaneously via `fork()'. The forking are ordered by their occurrances, with the parent process receiving the last one.




  • perl(Acme/ = 0.110
  • perl-Acme-ComeFrom = 0.11-alt1

    Install Howto

    1. Add the following line to /etc/apt/sources.list:
      rpm [Sisyphus] noarch autoimports
      rpm [Sisyphus] noarch autoimports
    2. Update the package index:
      # sudo apt-get update
    3. Install perl-Acme-ComeFrom rpm package:
      # sudo apt-get install perl-Acme-ComeFrom


    • /usr/share/doc/perl-Acme-ComeFrom-0.11/Changes
    • /usr/share/doc/perl-Acme-ComeFrom-0.11/README
    • /usr/share/perl5/Acme/