Object::Array(3)

πŸ“¦ version 0.060, in alpine 3.24

πŸ’– Object::Array β€” array references with accessors πŸ’–

okay so bestie, here's the User Contributed Perl Documentation page for Object::Array(3). It's giving "arrays with accessors," and honestly? iconic. ✨


✨ NAME ✨

Object::Array β€” array references with accessors


🌸 VERSION 🌸

Version 0.060 β€” yep, that's the one. πŸŽ€


πŸŽ€ SYNOPSIS πŸŽ€

  use Object::Array qw(Array);
  my $array = Object::Array->new;       # or
  $array = Object::Array->new(\@array); # or
  $array = Array(\@array);
  $array->push(1..5);
  print $array->shift;
  $_++ for grep { $_ < 4 } @{ $array };
  $array->[0] = "a pony";

πŸ’… IMPORTANT NOTE πŸ’…

bestie, listen: several of these methods do not behave exactly like their builtin counterparts. no cap.

Specifically, any method that you would expect to return a list does return that list β€” but only in list context. In scalar context, these methods return an Object::Array object constructed from a copy of the list that would have been returned.

This sounds more complicated than it is. It means you can chain some methods together, e.g.

$arr->grep(sub { defined })->[-1];

instead of the more bracing

${ $arr->grep(sub { defined }) }[-1];

Currently, these array objects only contain copies of the original values. In the future, they will retain references to the original object, and this sort of thing will be possible:

$arr->grep(sub { defined })->[-1]++;

πŸ¦‹ METHODS πŸ¦‹

πŸ“ new

  my $array = Object::Array->new;
  # or use existing array
  my $array = Object::Array->new(\@a);

Creates a new array object, either from scratch or from an existing array. slay.

Using an existing array will mean that any changes to $array also affect the original array object. If you don't want that, copy the data first or use something like Storable's "dclone".

πŸ’œ isa

Overridden to respond to 'ARRAY'.

🌈 ref

Returns a reference to the underlying array.


πŸ”₯ SEE ALSO πŸ”₯

  • Object::Array::Plugin::Builtins
  • Object::Array::Plugin::ListMoreUtils

πŸ‘‘ AUTHOR πŸ‘‘

Hans Dieter Pearcey, "<hdp at cpan.org>"


πŸ’€ BUGS πŸ’€

Please report any bugs or feature requests to bug-object-array at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Object-Array. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


🫢 SUPPORT 🫢

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

perldoc Object::Array

You can also look for information at:


⭐ ACKNOWLEDGEMENTS ⭐

This section is empty in the source β€” no names listed here, just a mysterious little heading doing its thing. 🫢


Copyright 2006 Hans Dieter Pearcey, all rights reserved.

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


πŸ’– okay bestie, that's the whole page. this one shipped with perl v5.42.2, dated 2026-02-15, and lives at Object::Array(3). slay and goodbye. ✨

πŸ“¦ where this page comes from