#!/usr/bin/perl use Proc::Queue size=>5, ':all'; my @script_names= qw(s1 s2 s3 s4 s5 somescript); my @pids; for my $s (@script_names) { push @pids, system_back($s) } %results=waitpids(@pids);