---
name: "List::Objects::WithUtils::Role::Array::Immutable"
section: "3pm"
platform: "linux"
package: "liblist-objects-withutils-perl"
version: "2.028003-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/List::Objects::WithUtils::Role::Array::Immutable"
---

# List::Objects::WithUtils::Role::Array::Immutable(3pm)

Immutable array behavior

## NAME

List::Objects::WithUtils::Role::Array::Immutable - Immutable array behavior

## SYNOPSIS

```
  # Via List::Objects::WithUtils::Array::Immutable ->
  use List::Objects::WithUtils 'immarray';
  my $array = immarray(qw/ a b c /);
  $array->push('d');  # dies
```

## DESCRIPTION

This role adds immutable behavior to List::Objects::WithUtils::Role::Array consumers.

The following methods are not available and will throw an exception:

```
  clear
  set
  pop push
  shift unshift
  delete delete_when
  insert
  rotate_in_place
  splice
```

(The backing array is also marked read-only.)

See List::Objects::WithUtils::Array::Immutable for a consumer implementation that also pulls in List::Objects::WithUtils::Role::Array & List::Objects::WithUtils::Role::Array::WithJunctions.

## AUTHOR

Jon Portnoy \<avenj@cobaltirc.org\>

Licensed under the same terms as Perl.
