I have list of async jobs that need to happen one after the other.
I can do that as per example below. However it has a deep recursion problem that limits the size of the queue.
Also it has to store all the async instances (in this example in @times) which is silly as only 1 is really active at a time.
What would be the correct way to do this without recurssion?
my @queue = (9,8,7,6,5,4,3,2,1);
my $cv = AnyEvent->condvar;
# Do other things here...
my $i = pop @queue;
if (!defined $i)
print "Starting async operation $i\n";
$timers[$i] = AnyEvent->timer(after => 1, interval => 0, cb => sub
print "Finish async operation $i\n";