use strict; use Parallel::ForkManager; my @ary = (1..100); my $count = 1; my $pm = new Parallel::ForkManager(30); foreach my $val (@ary) { # Without 'and next' works, but is it forking? # $pm->start; $pm->start and next; print "Working on $val (count: $count)\n"; open(ARY, ">$count") or die $!; print ARY "$val, $count"; close ARY; $count++; $pm->finish; }; #### use strict; use Parallel::ForkManager; my @ary = (1..100); my $count = 1; my $pm = new Parallel::ForkManager(30); $pm->run_on_start( sub { my ($pid,$ident) = @_; open(ARY, ">$count") or die $!; print ARY "$count"; close ARY; $count++; } ); foreach my $val (@ary) { $pm->start and next; print "Working on $val (count: $count)\n"; $pm->finish; };