use strict; while (1) { my $run_ct = how_many_running(); my $wait_ct = how_many_waiting(); foreach (1..(10-$run_ct)) { launch_next_waiting(); } sleep 20; } sub how_many_running{} sub how_many_waiting{} sub launch_next_waiting{}