NAME

   List::MapBruteBatch - Do a brute-force batched map() though a list with
   a callback

SYNOPSIS

       map_brute_batch($cb, \@list);
       my @ret = map_brute_batch($cb, \@list, \$cb_success, \$cb_failure);

DESCRIPTION

   Firstly. Why would you use this?

   You have some N number of items you want to process. You have some
   function that can take those N, and it's much cheaper to do them in one
   big batch than one at a time.

   However, any one of the N items can fail, causing the entire batch of N
   to fail with it. When that happens you either don't know which one
   failed the batch, or finding out would be tedious.

   This module provides a map()-like function to solve that problem. It'll
   attempt to process a \@list you provide with a $cb function that you
   provide.

   If your $cb doesn't return true we bisect the \@list and call your $cb
   on each half of the bisected list, and if those fail we repeat this
   process until we're processing one item, which may also fail.

   You can optionally provide $cb_success or $cb_failure callbacks,
   those'll be called in map()-like fashion on items that fail or succeed,
   respectively. You can use this to make the function return a list of
   items showing which items ended up failing or succeeding.

AUTHOR

   Ævar Arnfjörð Bjarmason <[email protected]>

COPYRIGHT AND LICENSE

   This software is copyright (c) 2013-2016 by Ævar Arnfjörð Bjarmason
   <[email protected]>

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