Manpage logo

Parallel::Pipes::App - friendly interface for Parallel::Pipes

NAME  SYNOPSIS  DESCRIPTION  METHODS  map  run  AUTHOR  COPYRIGHT AND LICENSE 

NAME

Parallel::Pipes::App − friendly interface for Parallel::Pipes

SYNOPSIS

use Parallel::Pipes::App;
my @result = Parallel::Pipes::App−>map(
num => 3,
work => sub { my $task = shift; $task * 2 },
tasks => [1, 2, 3, 4, 5],
);
# @result is ( 2, 4, 6, 8, 10 )

DESCRIPTION

Parallel::Pipes::App provides friendly interfaces for Parallel::Pipes.

METHODS

Parallel::Pipes::App provides 2 class method:

map

my @result = Parallel::Pipes::App−>map(
num => $num,
work => $work,
tasks => \@task,
);

Process @task by $work in $num pre−forked child processes, and get @result. This is almost the same as

my @result = map { $work−>($_) } @task;

except that $work is executed in a child process, not in the current process.

run

Parallel::Pipes::App−>run(
num => $num,
work => $work,
tasks => \@task,
before_work => $before_work,
after_work => $after_work,
);

"run" is a more generic form of "map". In fact, we can write "map" by using "run":

my @result;
Parallel::Pipes::App−>run(
num => $num,
work => $work,
tasks => \@task,
before_work => sub {},
after_work => sub { push @result, $_[0] },
);

AUTHOR

Shoichi Kaji <[email protected]>

COPYRIGHT AND LICENSE

Copyright 2016 Shoichi Kaji <[email protected]>

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


Updated 2026-06-01 - jenkler.se | uex.se