MCE::Subs - Exports functions mapped directly to MCE's methods
This document describes MCE::Subs version 1.500
use MCE::Subs; ## Exports manager and worker functions only ## Getter functions are not exported by default use MCE::Subs qw( :getter ); ## All, including getter functions use MCE::Subs qw( :manager ); ## Exports manager functions only use MCE::Subs qw( :worker ); ## Exports worker functions only use MCE::Subs qw( :getter :worker ); ## Excludes manager functions
This module exports functions mapped to MCE methods. All exported functions are prototyped, therefore allowing one to call them without using parentheses.
use MCE::Subs qw( :worker ); ## barrier synchronization among workers sub user_func { my $wid = MCE->wid; mce_say "A: $wid"; mce_sync; mce_say "B: $wid"; mce_sync; mce_say "C: $wid"; mce_sync; return; } MCE->new( max_workers => 24, user_func => \&user_func ); mce_run 0 for (1..100); ## 0 means do not shutdown after running
For the next example, we only want the worker functions to be exported due to using MCE::Map, which takes care of creating a MCE instance and running.
use MCE::Map; use MCE::Subs qw( :worker ); ## The following will serialize output to STDOUT as well as gather ## to @a. mce_say displays $_ when called without arguments. my @a = mce_map { mce_say; $_ } 1 .. 100; print scalar @a, "\n";
Unlike the native Perl functions, print, printf, and say methods require the comma after the file handle.
MCE->print("STDERR", $error_msg, "\n"); ## Requires quotes around MCE->say("STDERR", $error_msg); ## the bare-word FH. MCE->say($fh, $error_msg); mce_print STDERR, $error_msg, "\n"; ## Quotes can be omitted mce_say STDERR, $error_msg; ## around the bare-word FH. mce_say $fh, $error_msg;
MCE
Mario E. Roy, <marioeroy AT gmail DOT com>
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.
To install MCE, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MCE
CPAN shell
perl -MCPAN -e shell install MCE
For more information on module installation, please visit the detailed CPAN module installation guide.