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, and if any one fail all N
    fail, and either you don't know which one failed the batch, or it's
    hard to find out.

    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 <avar@cpan.org>

COPYRIGHT AND LICENSE

    This software is copyright (c) 2013-2016 by Ævar Arnfjörð Bjarmason
    <avar@cpan.org>

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