title: How to install Parallel::ForkManager in Perl?
body: <p>I am tiring to run multiple jobs in parallel by using perl script which use Parallel:ForkManager.</p>
  <pre><code>#!/usr/bin/perl  -w
  
  use Parallel::ForkManager;
  
  my @make_obj = qw(
   mode1_testlist
   mode1_testlist1
   mode1_testlist2
  );
  
  my $fm = $pm = Parallel::ForkManager-&gt; new(3);
  foreach my $obj (@make_obj) {
    $fm-&gt;start and next;
    print(&quot;make regression MODE=1 MODELIST=$make_obj&quot;);
    $fm-&gt;finish();
  }
  </code></pre>
  <p>but it throws me below error.</p>
  <blockquote>
  <p>Can't locate Parallel/ForkManager.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at parallel_run.pl line 3.
  BEGIN failed--compilation aborted at parallel_run.pl line 3.</p>
  </blockquote>
  <p>I have downloaded <em>Parallel-ForkManager-1.03.tar.gz</em> but I don't know where to keep it I mean how to install it.</p>
  <p>I tried <code>perl Makefile.PL &amp;&amp; make test &amp;&amp; make install</code>:</p>
  <pre><code>WARNING: META_MERGE is not a known parameter.
  WARNING: BUILD_REQUIRES is not a known parameter.
  WARNING: LICENSE is not a known parameter.
  Checking if your kit is complete...
  Looks good
  'BUILD_REQUIRES' is not a known MakeMaker parameter name.
  'LICENSE' is not a known MakeMaker parameter name.
  'META_MERGE' is not a known MakeMaker parameter name.
  Writing Makefile for Parallel::ForkManager
  cp lib/Parallel/ForkManager.pm blib/lib/Parallel/ForkManager.pm
  PERL_DL_NONLAZY=1 /usr/bin/perl &quot;-MExtUtils::Command::MM&quot; &quot;-e&quot;test_harness(0,'blib/lib', 'blib/arch')&quot; t/*.t
                                                                                              t/00-load.............ok 1/3    (in cleanup) Undefined subroutine 
  &amp;File::Path::remove_tree called at /h/altera_dump2/vjain419/regression_flow_bck
  /regression_flow/MSS1/hw/verif/top_/00e/tools/Parallel-ForkManager-1.03/blib
  /lib/Parallel  /ForkManager.pm line 662.
  t/00-load.............ok
  t/01-utf8-all.........skipped
      all skipped: Need utf8::all for this test crashing on Windows
      t/02-callback.........Array found where operator expected at t/02-callback.t line
      21,at  end of line
      (Do you need to predeclare explain?)
      syntax error at t/02-callback.t line 21, near &quot;explain @out&quot;
     xecution of t/02-callback.t aborted due to compilation errors.
     # Looks like your test died before it could output anything.
     t/02-callback.........dubious                                                
      Test returned status 255 (wstat 65280, 0xff00)
       DIED. FAILED tests 1-2
      Failed 2/2 tests, 0.00% okay
      t/03-callback-data....Array found where operator expected at t/03-callback-data.t line 13, at end of line
      (Do you need to predeclare explain?)
     syntax error at t/03-callback-data.t line 13, near &quot;explain @out&quot;
     Execution of t/03-callback-data.t aborted due to compilation errors.
      # Looks like your test died before it could output anything.
      t/03-callback-data....dubious                                                
      Test returned status 255 (wstat 65280, 0xff00)
      DIED. FAILED test 1
      Failed 1/1 tests, 0.00% okay
     Failed Test          Stat Wstat Total Fail  Failed  List of Failed
     t/02-callback.t       255 65280     2    4 200.00%  1-2
     t/03-callback-data.t  255 65280     1    2 200.00%  1
     1 test skipped.
     Failed 2/4 test scripts, 50.00% okay. 3/6 subtests failed, 50.00% okay.
     make: *** [test_dynamic] Error 255 
  </code></pre>