The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Proc-Forkmap

This module supplies an easy to use map method that provides built-in forking and IPC.

EXAMPLES:
    
    sub foo {
        my ($x,$n) = (shift,1);
        $n *= $_ for (@$x);
        return $n;
    }
    
    @x = ([1..99],[100..199],[200..299]);
    my $p = Proc::Forkmap->new;
    my @rs = $p->fmap(\&foo,@x);
    
    or,
    
    package Foo;
    
    sub new { return bless {}, shift};
    sub bar { #do heavy calc stuff and max the CPU };
    
    package main;
    
    my $foo = Foo->new;
    my @rs = Proc::Forkmap->new(max_kids => 5)->fmap(
        sub { $foo->bar(@_) }, @x,
    );
    
    or,
    
    my @rs = $p->fmap(sub { $_[0] ** $_[0] }, @x);
    
    or,
    
    #get stuff from the intertubes
    
    sub bar {
       my $t = shift;
       my $s = Stock::Price->new;
       ... get historical stock prices ...
       ... do some analysis ...
       baz($t,$sell_price);
    }
    
    #then save stuff to a data store
    
    sub baz {
       my ($t,$price) = @_;
       my $conn = MongoDB::Connection->new;
       my $db = $conn->stock;
       my $bayes = $db->bayes;
       $bayes->insert({symbol => $t, price => $price});
       $conn->disconnect;
    }
    
    my $p = Proc::Forkmap->new(max_kids => 5, ipc => 0); # turn off IPC
    $p->fmap(\&bar,qw/rht goog ^ixic ^dji yhoo aapl/);


INSTALLATION

To install this module, run the following commands:

	perl Makefile.PL
	make
	make test
	make install

SUPPORT AND DOCUMENTATION

After installing, you can find documentation for this module with the
perldoc command.

    perldoc Proc::Forkmap

You can also look for information at:

    RT, CPAN's request tracker (report bugs here)
        http://rt.cpan.org/NoAuth/Bugs.html?Dist=Proc-Forkmap

    AnnoCPAN, Annotated CPAN documentation
        http://annocpan.org/dist/Proc-Forkmap

    CPAN Ratings
        http://cpanratings.perl.org/d/Proc-Forkmap

    Search CPAN
        http://search.cpan.org/dist/Proc-Forkmap/


LICENSE AND COPYRIGHT

Copyright (C) 2012 Andrew Shapiro

This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.