Works here, with 5.6.0 on Linux, although without the actual emailing...
Are you running this on Windows, perchance? I know fork on Windows is somewhat iffy; that could explain your problems...
I don't know why mine would work and yours doesn't, but hopefully this helps a bit.
Here's the trimmed down version of your code I used:
use strict; use Parallel::ForkManager; my $scount; my $xcount; my @bccppl=('a'..'z'); my $pm = new Parallel::ForkManager(4); foreach my $bccperson (@bccppl) { $pm->run_on_start( sub { $scount++; print "Sending Msg:$scount:$bccperson\n"; } ); $pm->run_on_finish( sub { $xcount++; } ); $pm->start and next; =cut my $msg = MIME::Lite->new( From => $from, To => $bccperson, Subject => $subject, Type => 'text', Data => $body ) || print "MIME::Lite new error: $bc +cperson\n"; MIME::Lite->send('smtp', '10.10.10.10', Timeout=>240); $msg->send() || print "Couldn't send to: $bccperson\n"; =cut print "Done process $$\n"; $pm->finish; } #End of foreach $bccperson $pm->wait_all_children; print "This Line prints Fine\n"; print "This line doesn't appear at all, no statements after the print + line above execute, how frustrating!!!\n";
--
Mike
In reply to Re: Parallel Forkmanager - Code not being executed?
by RMGir
in thread Parallel Forkmanager - Code not being executed?
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |