$SIG{CHLD} = 'IGNORE'; my @programs = qw(file1.pl file2.pl file3.pl ...); for (@programs) { my $pid = fork(); if (!defined $pid) { die "Can't fork child!"; } if ($pid) { do $_; exit; } }