---
name: "autobox::List::Util"
section: "3pm"
platform: "linux"
package: "libautobox-list-util-perl"
version: "20090629-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/autobox::List::Util"
---

# autobox::List::Util(3pm)

bring the List::Util functions to autobox

## NAME

autobox::List::Util - bring the List::Util functions to autobox

## VERSION

Version 20090629

## SYNOPSIS

`"autobox::List::Util"` brings all of the functions from List::Util to arrays as methods.

```
    use autobox::List::Util;
    my @array = qw/ foo bar baz /;
    print @array->first(sub { /ar/ }), "\n"; # "bar"
    print [5, 6, 3, 4]->max, "\n"; # 6
    print @array->maxstr, "\n"; # baz

    print [5, 6, 3, 4]->min, "\n"; # 3
    print @array->minstr, "\n"; # foo
    print [1 .. 10]->shuffle, "\n"; #1 to 10 randomly shuffled
    print [1 .. 10]->sum, "\n"; # 55
    print [1 .. 10]->reduce( sub { $a + $b } ), "\n"; # 55
```

## METHODS

### first(coderef)

This method behaves nearly the same as the first function from List::Util, but it takes a coderef not a block because methods can't use prototypes.

### reduce(coderef)

This method behaves nearly the same as the reduce function from List::Util, but it takes a coderef not a block for the same reason.  It also has a bug (see BUGS)

### shuffle

If called in scalar context it returns a reference to an array instead of a list.  This allows shuffle to be chained with other calls.

### max, maxstr, min, minstr, sum

These methods behave exactly the same as their List::Util counterparts.

## AUTHOR

Chas. J. Owens IV, `"<chas.owens at gmail.com>"`

## BUGS

The reduce method works with `$main::a` and `$main::b`, not your current package's `$a` and `$b`, so you need to say

```
    print @array->reduce( sub { $main::a + $main::b } ), "\n";
```

if you are not in the main package.  Reduce uses `$_`, so it doesn't suffer from this problem.

## SUPPORT

You can find documentation for this module with the perldoc command.

```
    perldoc autobox::List::Util
```

You can also look for information at:

- •

  RT: CPAN's request tracker

  \<http://rt.cpan.org/NoAuth/Bugs.html?Dist=autobox-List-Util\>

- •

  AnnoCPAN: Annotated CPAN documentation

  \<http://annocpan.org/dist/autobox-List-Util\>

- •

  CPAN Ratings

  \<http://cpanratings.perl.org/d/autobox-List-Util\>

- •

  Search CPAN

  \<http://search.cpan.org/dist/autobox-List-Util/\>

## ACKNOWLEDGEMENTS

## COPYRIGHT & LICENSE

Copyright 2009 Chas. J. Owens IV, all rights reserved.

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