use Parallel::ForkManager qw( ); my @testLists = ...; my $pm = Parallel::ForkManager->new( 2 ); for my $list ( @testLists ) { $pm->start and next; $status += regressions( $opts, $list ); $pm->finish; } $pm->wait_all_children();