Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^5: Learning to use fork()

by kroach (Pilgrim)
on Jan 15, 2019 at 14:09 UTC ( [id://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?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (2)
As of 2024-04-26 02:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found