http://www.perlmonks.org?node_id=955486


in reply to Re^2: List::MoreUtils before, after and ... between?
in thread List::MoreUtils before, after and ... between?

I just didn't think of coming up with a Perl 6 solution, and even now I don't see a particularly elegant and readable way.

So I've just ported toolic's solution to Perl 6, making the returned list of found values lazy:

my @a = <eval DBIC::3 DBIC::2 DBIC::1 MyApp::3 MyApp::2 MyApp::1 Dance +r::3 Dancer::2 Dancer::1>; my @filtered := gather { my $flag = 0; for @a { last if /Dancer/; $flag = 1 if /DBIC/; $flag = 2 if $flag && !/DBIC/; take $_ if $flag == 2; } } .say for @filtered;

(Tested with current Niecza)