MCE::Subs(3)

NAME
MCE::Subs - Exports functions mapped directly to MCE methods

VERSION
This document describes MCE::Subs version 1.703

SYNOPSIS
   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

DESCRIPTION
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 );

   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 serializes output to STDOUT and gathers $_ 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, printf, print, and say methods require the comma after the glob reference or file handle.

   MCE->printf(\*STDERR, "%s\n", $error_msg);
   MCE->print(\*STDERR, $error_msg, "\n");
   MCE->say(\*STDERR, $error_msg);
   MCE->say($fh, $error_msg);

   mce_printf \*STDERR, "%s\n", $error_msg;
   mce_print \*STDERR, $error_msg, "\n";
   mce_say \*STDERR, $error_msg;
   mce_say $fh, $error_msg;

FUNCTIONS for the MANAGER PROCESS via ( :manager )
MCE methods are described in MCE::Core.

•   mce_abort

•   mce_forchunk

•   mce_foreach

•   mce_forseq

•   mce_freeze

•   mce_process

•   mce_relay_final

•   mce_restart_worker

•   mce_run

•   mce_print

•   mce_printf

•   mce_say

•   mce_send

•   mce_shutdown

•   mce_spawn

•   mce_status

•   mce_thaw

FUNCTIONS for MCE WORKERS via ( :worker )
MCE methods are described in MCE::Core.

•   mce_abort

•   mce_do

•   mce_exit

•   mce_freeze

•   mce_gather

•   mce_last

•   mce_next

•   mce_print

•   mce_printf

•   mce_relay

•   mce_relay_recv

•   mce_say

•   mce_sendto

•   mce_sync

•   mce_thaw

•   mce_yield

GETTERS for MCE ATTRIBUTES via ( :getter )
MCE methods are described in MCE::Core.

•   mce_chunk_id

•   mce_chunk_size

•   mce_max_retries

•   mce_max_workers

•   mce_pid

•   mce_sess_dir

•   mce_task_id

•   mce_task_name

•   mce_task_wid

•   mce_tmp_dir

•   mce_user_args

•   mce_wid

INDEX
MCE, MCE::Core

AUTHOR
Mario E. Roy, <marioeroy AT gmail DOT com>