#!/usr/bin/perl -w use strict; use warnings; use Parallel::ForkManager; use LWP::Simple; my $pm=new Parallel::ForkManager(10); my @in = 1..5 ; our @out; for my $link (@in) { $pm->start and next; sleep rand 50 ; die if $link == 2 ; push @out, $link ; $pm->finish; }; $pm->wait_all_children; warn "@out"