DOKK / manpages / debian 12 / liblist-objects-withutils-perl / List::Objects::WithUtils::Role::Array::Immutable.3pm.en
List::Objects::WithUtils::Role::Array::Immutable(3pm) User Contributed Perl Documentation List::Objects::WithUtils::Role::Array::Immutable(3pm)

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

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

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.

Jon Portnoy <avenj@cobaltirc.org>

Licensed under the same terms as Perl.

2022-09-27 perl v5.34.0