The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


CPS::Governor::Simple - iterate immediately as fast as possible


 use CPS qw( gkforeach );
 use CPS::Governor::Simple;

 my $gov = CPS::Governor::Simple->new;

 gkforeach( $gov, [ 1 .. 10 ],
    sub { 
       my ( $item, $knext ) = @_;

       print "$item\n";
       goto &$knext;
    sub {},


This CPS::Governor allows the functions using it to run as fast as possible. It invokes its continuations immediately using a tailcall, so as not to let the stack grow arbitrarily.

Its constructor takes no special arguments, and it provides no other methods beyond those of CPS::Governor.


Paul Evans <>