Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^5: Learning to use fork()

by kroach (Pilgrim)
on Jan 15, 2019 at 14:09 UTC ( #1228593=note: print w/replies, xml ) Need Help??

in reply to Re^4: Learning to use fork()
in thread Learning to use fork()

Parallel::ForkManager doesn't help with the code you want to parallelize. However, it can keep track of the number of forks, which you mentioned you wanted to do in the original question.

Passing arguments is not a problem when using code references, if the aguments are determined beforehand, you can wrap them in anonymous subroutines:

sub sub1 { print "sub1 ran, got args: [@_]\n" } sub sub2 { print "sub2 ran, got args: [@_]\n" } my @refs = ( sub { sub1(1, 2, 3) }, sub { sub1('foo', 'bar') }, sub { sub2(4, 5, 6) }, sub { sub2('some', 'string') }, ); $_->() foreach @refs;

If you want to pass different sets of arguments to a single subroutine, you could just make an array of arguments:

sub foo { print "Got args: [@_]\n" } my @args = ( [ 'A', 'B', 1 ], [ 'C', 'D', 2 ], ); foreach my $arg_ref (@args) { foo(@$arg_ref) }

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1228593]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (5)
As of 2020-10-26 07:21 GMT
Find Nodes?
    Voting Booth?
    My favourite web site is:

    Results (250 votes). Check out past polls.