---
name: "Moose::Autobox::Array"
section: "3pm"
platform: "linux"
package: "libmoose-autobox-perl"
version: "0.16-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Moose::Autobox::Array"
---

# Moose::Autobox::Array(3pm)

the Array role

## NAME

Moose::Autobox::Array - the Array role

## VERSION

version 0.16

## SYNOPSIS

```
  use Moose::Autobox;
  [ 1..5 ]->isa('ARRAY'); # true
  [ a..z ]->does('Moose::Autobox::Array'); # true
  [ 0..2 ]->does('Moose::Autobox::List'); # true
  print "Squares: " . [ 1 .. 10 ]->map(sub { $_ * $_ })->join(', ');
  print [ 1, 'number' ]->sprintf('%d is the loneliest %s');
  print ([ 1 .. 5 ]->any == 3) ? 'true' : 'false'; # prints 'true'
```

## DESCRIPTION

This is a role to describe operations on the Array type.

## METHODS

- "pop"

  - "push ($value)"

  - "shift"

  - "unshift ($value)"

  - "delete ($index)"

  - "sprintf ($format\_string)"

  - "slice (@indices)"

  - "flatten"

  - "flatten\_deep ($depth)"

  - "first"

  - "last"

  ### Indexed implementation

- "at ($index)"

  - "put ($index, $value)"

  - "exists ($index)"

  - "keys"

  - "values"

  - "kv"

  - "each"

  - "each\_key"

  - "each\_value"

  - "each\_n\_values ($n, $callback)"

  ### List implementation

- "head"

  - "tail"

  - "join (?$seperator)"

  - "length"

  - "map (\\&block)"

  - "grep (\\&block)"

  Note that, in both the above, `$_` is in scope within the code block, as well as being passed as `$_`\[0\]. As per CORE::map and CORE::grep, `$_` is an alias to the list value, so can be used to modify the list, viz:

  ```
      use Moose::Autobox;
      my $foo = [1, 2, 3];
      $foo->map( sub {$_++} );
      print $foo->dump;
  ```

  yields

  ```
     $VAR1 = [
               2,
               3,
               4
             ];
  ```

- "reverse"

  - "sort (?\\&block)"

  ### Junctions

- "all"

  - "any"

  - "none"

  - "one"

  - "meta"

  - "print"

  - "say"

  ## SUPPORT

Bugs may be submitted through the RT bug tracker \<https://rt.cpan.org/Public/Dist/Display.html?Name=Moose-Autobox\> (or bug-Moose-Autobox@rt.cpan.org \<mailto:bug-Moose-Autobox@rt.cpan.org\>).

There is also a mailing list available for users of this distribution, at \<http://lists.perl.org/list/moose.html\>.

There is also an irc channel available for users of this distribution, at `"#moose"` on `"irc.perl.org"` \<irc://irc.perl.org/#moose\>.

## AUTHOR

Stevan Little \<stevan.little@iinteractive.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2006 by Infinity Interactive, Inc.

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