open my $exim, "| exim -bS" or die; for (...) { print $exim <<'MSG'; MAIL FROM: foo@bar.com RCPT TO: doz@bar.com DATA Subject: Your Invoice To: You From: Me You have to pay 1,000,000 dollars . MSG } #### my $workers = 4; for my $ix (0..$workers-1) { unless (fork) { open my $fh, '<', $address_list_file_name or die; open my $exim, "| exim -bS" or die; while (<>) { next unless (($. % $workers) == $ix); send_invoice($exim, $_); } exit 0; } }