CPS
view release on metacpan or search on metacpan
t/02kforeach.t view on Meta::CPAN
#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
use CPS qw( kforeach );
my @nums;
kforeach(
[ 1, 2, 3 ],
sub {
my ( $item, $knext ) = @_;
push @nums, $item;
$knext->();
},
sub {
push @nums, "finished";
},
);
is_deeply( \@nums, [ 1, 2, 3, "finished" ], 'kforeach sync - @nums' );
@nums = ();
kforeach(
[ 4, 5, 6, 7 ],
sub {
my ( $item, $knext, $klast ) = @_;
goto &$klast if $item == 6;
push @nums, $item;
$knext->();
},
sub {
push @nums, "finished";
},
);
is_deeply( \@nums, [ 4, 5, "finished" ], 'kforeach sync - @nums' );
done_testing;
( run in 0.229 second using v1.01-cache-2.11-cpan-73692580452 )